![]() |
|
Почти произведение и полный квадрат | ☑ | ||
---|---|---|---|---|
0
Ненавижу 1С
гуру
20.04.15
✎
12:41
|
Найти все пары положительных целых чисел (n,k) такие, что число
(n+1)*(n+2)*...*(n+k)-k является полным квадратом (квадратом целого числа) |
|||
1
mikecool
20.04.15
✎
12:42
|
зачем?
|
|||
2
Nuobu
20.04.15
✎
12:51
|
(0) А есть в 1С функция "КОРЕНЬ"?
|
|||
3
pessok
20.04.15
✎
12:52
|
Глобальный контекст.Sqrt (Global context.Sqrt)
Глобальный контекст (Global context) Sqrt (Sqrt) Синтаксис: Sqrt(<Число>) Параметры: <Число> (обязательный) Тип: Число. Аргумент функции. Неотрицательное число. Возвращаемое значение: Тип: Число. Результат вычисления квадратного корня. Описание: Вычисляет квадратный корень параметра <Число>. Доступность: Тонкий клиент, веб-клиент, сервер, толстый клиент, внешнее соединение, мобильное приложение(клиент), мобильное приложение(сервер). Примечание: При отрицательном значении параметра происходит ошибка "Неправильное значение аргумента встроенной функции (Sqrt)". Пример: // Вычисление радиуса шара по площади поверхности Pi = 3.1415926535897932; S = 10; R = Sqrt(S/(4*Pi)); Сообщить("Радиус шара с площадью поверхности = " + S + "; равен " + Формат(R,"ЧДЦ=3")); -------------------------------------------------------------------------------- Методическая информация |
|||
4
pessok
20.04.15
✎
12:56
|
ну и в два цикла этот sqrt. Вот только верхнюю границу бы
|
|||
5
rphosts
20.04.15
✎
12:56
|
(0) а второе доказательство теоремы Ферма вам не надо?
|
|||
6
Ненавижу 1С
гуру
20.04.15
✎
13:00
|
(5) а причем тут теорема Ферма?
|
|||
7
Nuobu
20.04.15
✎
13:08
|
(0) Простым перебором не предлагать?
|
|||
8
Nuobu
20.04.15
✎
13:11
|
2 и 4
|
|||
9
Ненавижу 1С
гуру
20.04.15
✎
13:14
|
(8) не понял
|
|||
10
pessok
20.04.15
✎
13:27
|
а вот что-то тоже не придумывается, хм
|
|||
11
pessok
20.04.15
✎
13:33
|
+(10) получаются только одинаковые числа почему-то. голодный желудок тупит :)
Для А = 1 По 100 Цикл ОбработкаПрерыванияПользователя(); Для Б = 1 По 100 Цикл ОбработкаПрерыванияПользователя(); МассивДляРасчета = Новый Массив; Для В = 1 По Б Цикл МассивДляРасчета.Добавить(А + В); КонецЦикла; Рассчет = МассивДляРасчета[0]; Для А = 1 По МассивДляРасчета.ВГраница() Цикл Рассчет = Рассчет * МассивДляРасчета[1]; КонецЦикла; Рассчет = Рассчет - Б; Корень = Sqrt(Рассчет); Если Цел(Корень) = Корень Тогда Сообщить("Пара "+А+" и "+Б+". Значение вычисления: "+Корень); КонецЕсли; КонецЦикла; КонецЦикла; |
|||
12
pessok
20.04.15
✎
13:37
|
там переменные в цикле обнулил криво
|
|||
13
pessok
20.04.15
✎
13:43
|
в общем вот так вроде бы верно
|
|||
14
Гобсек
22.04.15
✎
06:46
|
Для А = 1 По 1000 Цикл
Произв = А; Для Б = 1 По 1000 Цикл Произв = Произв * (А + Б); Корень = Цел(sqrt(Произв)); Если Корень*Корень = Произв Тогда Сообщить(""+ А + " "+ Б+ " "+ Произв); КонецЕсли; КонецЦикла; КонецЦикла; |
|||
15
Гобсек
22.04.15
✎
07:01
|
Для А = 1 По 2000 Цикл
Произв = 1; Для Б = 1 По 2000 Цикл Произв = Произв * (А + Б); Корень = Цел(sqrt(Произв - Б)); Если Корень*Корень = Произв - Б Тогда Сообщить(""+ А + " "+ Б+ " "+ (Произв - Б)); КонецЕсли; КонецЦикла; КонецЦикла; |
|||
16
Гобсек
22.04.15
✎
07:03
|
Первые 10 строк, которые выдает процедура (15):
1 1 1 1 2 4 4 1 4 9 1 9 16 1 16 25 1 25 36 1 36 49 1 49 64 1 64 81 1 81 |
|||
17
Гобсек
22.04.15
✎
07:07
|
(16)+ нетривиальное решение (Б > 1) всего одно:
(1+1)*(1+2) - 2 = 4 |
|||
18
Ненавижу 1С
гуру
28.04.15
✎
11:53
|
Рассмотрим случай k>3
Левую часть рассмотрим как два отдельных множителя [(n+1)*(n+2)*…*(n+k-3)] * [(n+k-2)*(n+k-1)*(n+k)] Первый множитель делится на (k-3) и представим его как M*(k-3). Второй множитель делится на 6, представим его как 6*S. 6*M*S*(k-3)-k=A^2 6*M*S*(k-3)-(k-3)=A^2+3 (6*M*S-1)*(k-3)=A^2+3 В левой части есть нечетный множитель (6*M*S-1), имеющий от деления на 3 остаток 2. Значит, у него есть простой нечетный множитель p также имеющий от деления на 3 остаток 2. Поэтому оно представимо в виде p=6*t-1. Теперь посмотрим на правую часть: A^2+3 - она должна делиться на p. К тому же p=6*t-1>3 и A не делится на p. A^2+3 = (1+A)^2+(1+A)*(1-A)+(1-A)^2 Заменим x = (1+A), y = (1-A) A^2+3 = x^2+x*y+y^2 x и y имеют разные остатки при делении на p. Иначе x-y = 2*A делится на p. Если x^2+x*y+y^2 делится на p, то и (x^2+x*y+y^2)*(x-y) = x^3-y^3 делится на p. Если x^3 и y^3 имеют одинаковые остатки при делении на p, то и (x^3)^(2*k-1)=x^(6*k-3) и (y^3)^(2*k-1)=y^(6*k-3) имеют одинаковые остатки С другой стороны, по малой теореме Ферма: x^(6*k-3)*x = x^(6*k-2) = x^(p-1) имеет остаток 1, аналогично и y. Но если числа, имеющие одинаковые остатки при делении на простое число, умножили на числа x, y и получили одинаковый остаток произведения 1, то сами эти числа x, y имеют одинаковый остаток. Противоречие |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |