Задача N1. Число оканчивается на 2. Если эту 2-ку переставить вперед, то получится удвоенное число. Что это за число?
Задача N2. Число оканчивается на 3. Если эту 3-ку переставить вперед, то получится утроенное число. Найти число.
Задачи N3-8. То же самое для 4, 5, 6, 7, 8, 9.
Ответы:
Для 2 решение = 105263157894736842
Для 3 решение = 1034482758620689655172413793
Для 4 решение = 102564
Для 5 решение = 102040816326530612244897959183673469387755
Для 6 решение = 1016949152542372881355932203389830508474576271186440677966
Для 7 решение = 1014492753623188405797
Для 8 решение = 1012658227848
Для 9 решение = 10112359550561797752808988764044943820224719
Задача N2. Число оканчивается на 3. Если эту 3-ку переставить вперед, то получится утроенное число. Найти число.
Задачи N3-8. То же самое для 4, 5, 6, 7, 8, 9.
Ответы:
Для 2 решение = 105263157894736842
Для 3 решение = 1034482758620689655172413793
Для 4 решение = 102564
Для 5 решение = 102040816326530612244897959183673469387755
Для 6 решение = 1016949152542372881355932203389830508474576271186440677966
Для 7 решение = 1014492753623188405797
Для 8 решение = 1012658227848
Для 9 решение = 10112359550561797752808988764044943820224719

no subject
Date: 2007-05-06 20:36 (UTC)no subject
Date: 2007-05-06 20:39 (UTC)no subject
Date: 2007-05-06 20:50 (UTC)no subject
Date: 2007-05-06 20:52 (UTC)no subject
Date: 2007-05-06 21:01 (UTC)no subject
Date: 2007-05-06 20:55 (UTC)103448275862068965517241379
И так далее.
В общем, обычное умножение в столбик с переносом вверх, пока не получится 0.
no subject
Date: 2007-05-06 20:56 (UTC)no subject
Date: 2007-05-06 20:59 (UTC)no subject
Date: 2007-05-06 21:22 (UTC)#!/usr/bin/env perl $mul = $n[0] = $ARGV[0]; $carry = 0; $i = 0; do { $res = $n[$i] * $mul + $carry; $n[$i+1] = $res % 10 ; $carry = int($res / 10); $i++; } while ($n[$i] != 0 || $carry != 1); $n[$i+1] = 1; print reverse @n; print "\n";#!/usr/bin/python
Date: 2007-05-06 21:45 (UTC)for k in range(1,100):
x = 10**k - n
if x % (10*n - 1) == 0:
v = 10 * n * x / (10*n - 1) + n
print "Для %d решение = %d" % (n, v)
break
Re: #!/usr/bin/python
Date: 2007-05-06 21:51 (UTC)Re: #!/usr/bin/python
Date: 2007-05-06 22:09 (UTC)1) x|n * n == n|x
2) (10*x + n) * n == n * 10^k + x где k - количество цифр в x
3) x == n * (10^k - n) / (10*n - 1)
Остается найти такое k чтобы n * (10^k - n) делилось нацело на (10*n - 1).
Re: #!/usr/bin/python
Date: 2007-05-06 22:18 (UTC)Re: #!/usr/bin/python
Date: 2007-05-06 22:44 (UTC)no subject
Date: 2007-05-08 18:01 (UTC)(define (solve x n) (define d (remainder x 10)) (define v (+ (quotient x 10) (* d n))) (if (not (eqv? v n)) (solve v n)) (display d))Запуск (solve 2 2) выдает 105263157894736842.Для шестерки (solve 6 6) печатает 1016949152542372881355932203389830508474576271186440677966.
no subject
Date: 2007-05-08 18:12 (UTC)no subject
Date: 2007-05-08 18:23 (UTC)n - цифра, которую мы переставляли вперед.
Когда они сравняются, процесс заканчивается.
no subject
Date: 2007-05-09 15:25 (UTC)solve n 1 = 1 solve n x = d + 10 * (solve n ((div x 10) + d * n)) where d = (mod x 10)После этого print (solve 2 2) даёт 105263157894736842.
А если такая постановка? ))
Date: 2007-05-08 19:27 (UTC)Забавно
Date: 2007-05-08 20:48 (UTC)1429857 (2859714 4289571 5719428 7149285 8579142)
Ничего лучше перебора не придумал.
Re: А если такая постановка? ))
Date: 2007-05-09 15:31 (UTC)Интересно, что его можно удлинять двумя способами: дописывая справа нули (что тривиально) или вставляя в середину девятки. Например, 1429857 или 1429999999999857.
Re: А если такая постановка? ))
Date: 2007-05-09 19:09 (UTC)Еще интересная постановка(ответа не знаю) - в некотором числе вычеркнули некоторую цифру, от этого оно уменьшилось в 2 раза. Если вычеркнуть другую цифру - то уменьшится в три раза. И так далее, но, например, на 6 успокоиться. Такое найдется?
Re: А если такая постановка? ))
Date: 2007-05-09 19:26 (UTC)Re: А если такая постановка? ))
Date: 2007-05-09 19:34 (UTC)