Форум программистов, компьютерный форум, киберфорум
Python для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 5.00/11: Рейтинг темы: голосов - 11, средняя оценка - 5.00
0 / 0 / 0
Регистрация: 24.12.2020
Сообщений: 11

Среди чисел 1, 2, . , n найти все те, которые можно представить в виде суммы квадратов двух натуральных чисел

26.12.2020, 23:54. Показов 2195. Ответов 12
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Дано натуральное число n. Среди чисел 1, 2, ... , n найти все те, которые можно представить в виде суммы квадратов двух натуральных чисел, определив функцию, позволяющую распознавать полные квадраты. Как мне объяснили, эта программа должна выдавать, является ли число полным квадратом, тобиш я должен ввести 2 числа, а программа должна написать является ли число полным квадратом или нет. Решите через функцию, пожалуйста.
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
26.12.2020, 23:54
Ответы с готовыми решениями:

Среди чисел найти все те, которые можно представить в виде суммы квадратов двух натуральных чисел
Дано натуральное число n. Среди чисел 1,2,...,n найти все те, которые можно представить в виде суммы квадратов двух натуральных чисел....

Среди чисел до n найти все те, которые можно представить в виде суммы квадратов двух натуральных чисел
Дано натуральное число n. Среди чисел 1,2, ..., n найти все то, которие можно представит в виде суммы квадратов двух натуральных чисел....

Дано натуральное число n. Среди чисел 1,2.,n найти те, которые можно представить в виде квадратов двух натуральных чисел
Всем привет, помогите решить задачу! Уже несколько дней не могу придумать решение. Дано натуральное число n. Среди чисел 1,2...,n...

12
3582 / 2182 / 571
Регистрация: 02.09.2015
Сообщений: 5,510
27.12.2020, 00:36
Цитата Сообщение от xanderjke Посмотреть сообщение
Дано натуральное число n
Насколько n большое?
0
0 / 0 / 0
Регистрация: 24.12.2020
Сообщений: 11
27.12.2020, 19:40  [ТС]
любое целое число
0
3582 / 2182 / 571
Регистрация: 02.09.2015
Сообщений: 5,510
27.12.2020, 19:48
Цитата Сообщение от xanderjke Посмотреть сообщение
любое целое число
Гыы, при n = 10 ^ 100 твоя задача не имеет смысла без кеширования.
0
 Аватар для Miryz
291 / 131 / 58
Регистрация: 24.11.2019
Сообщений: 532
27.12.2020, 20:00
Arsegg, так задача то не его
0
27.12.2020, 20:29

Не по теме:

Цитата Сообщение от Miryz Посмотреть сообщение
Arsegg, так задача то не его
Как относится к теме данное выражение? Тут не кружок дебатов.

0
Эксперт Python
8850 / 4501 / 1864
Регистрация: 27.03.2020
Сообщений: 7,316
27.12.2020, 20:35
xanderjke, может задача звучить так?
Дано число N. Найти все числа от 1 до N таких, что n^2 + m^2 = x^2, где все три числа n, m, x <= N

Добавлено через 4 минуты
Допустим
n=5 m=7 => не подходит, так как 5^2+7^2 = 74. 74 - не является квадратом натурального числа
А вот n=5 m=12 подходит => х=13
0
3582 / 2182 / 571
Регистрация: 02.09.2015
Сообщений: 5,510
27.12.2020, 20:48
Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
In [1]: def isSquare(n):
    ...:     i = 0
    ...:     while i * i <= n:
    ...:         if i * i == n:
    ...:             return True
    ...:         i += 1
    ...:     return False
    ...:
 
In [2]: def isFullSquare(n):
    ...:     i = 1
    ...:     while i * i <= n:
    ...:         if (mod := n - i * i) > 0 and isSquare(mod):
    ...:             return True
    ...:         i += 1
    ...:     return False
    ...:
 
In [3]: result = filter(isFullSquare, range(1, 1000))
 
In [4]: print(*result)
2 5 8 10 13 17 18 20 25 26 29 32 34 37 40 41 45 50 52 53 58 61 65 68 72 73 74 80 82 85 89 90 97 98 100 101 104 106 109 113 116 117 122 125 128 130 136 137 145 146 148 149 153 157 160 162 164 169 170 173 178 180 181 185 193 194 197 200 202 205 208 212 218 221 225 226 229 232 233 234 241 242 244 245 250 257 260 261 265 269 272 274 277 281 288 289 290 292 293 296 298 305 306 313 314 317 320 325 328 333 337 338 340 346 349 353 356 360 362 365 369 370 373 377 386 388 389 392 394 397 400 401 404 405 409 410 416 421 424 425 433 436 442 445 449 450 452 457 458 461 464 466 468 477 481 482 485 488 490 493 500 505 509 512 514 520 521 522 530 533 538 541 544 545 548 549 554 557 562 565 569 577 578 580 584 585 586 592 593 596 601 605 610 612 613 617 625 626 628 629 634 637 640 641 648 650 653 656 657 661 666 673 674 676 677 680 685 689 692 697 698 701 706 709 712 720 722 724 725 730 733 738 740 745 746 754 757 761 765 769 772 773 776 778 785 788 793 794 797 800 801 802 808 809 810 818 820 821 829 832 833 841 842 845 848 850 853 857 865 866 872 873 877 881 882 884 890 898 900 901 904 905 909 914 916 922 925 928 929 932 936 937 941 949 953 954 962 964 965 968 970 976 977 980 981 985 986 997
0
0 / 0 / 0
Регистрация: 24.12.2020
Сообщений: 11
27.12.2020, 21:23  [ТС]
Да. Вы правы. Я именно это хотел изложить.
0
Эксперт Python
8850 / 4501 / 1864
Регистрация: 27.03.2020
Сообщений: 7,316
27.12.2020, 21:27
xanderjke,
Да. Вы правы. Я именно это хотел изложить.
К какому комментарию относится?
0
0 / 0 / 0
Регистрация: 24.12.2020
Сообщений: 11
27.12.2020, 21:34  [ТС]
Цитата Сообщение от Gdez Посмотреть сообщение
xanderjke,
К какому комментарию относится?
Вам. Недолгое время на сайте, немного не разобрался что и где находится.
0
 Аватар для Miryz
291 / 131 / 58
Регистрация: 24.11.2019
Сообщений: 532
27.12.2020, 21:51
Arsegg, прямым образом, ему не обозначили ограничения
0
Эксперт Python
8850 / 4501 / 1864
Регистрация: 27.03.2020
Сообщений: 7,316
27.12.2020, 22:17
xanderjke, хорошо.
(3, 4) - подходит => 3^2 + 4^2 = 5^2
А (6,8) подходит? => 6^2 + 8^2 = 10^2

Добавлено через 5 минут
Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
n = int(input())
m = int(n ** 0.5) + 1
myset = set()
for i in range(1, m + (m + 1) % 2, 2) :
    for j in range(2, m + m % 2, 2) :
        if i*i + j*j < n + 1 :
            a = 2 * i * j
            b = abs(i * i - j * j)
            if a > b :
                a, b = b, a
            #c = i * i + j * j
            myset.add((a, b))
            k = 2
            while k * (i*i + j*j) < n + 1 :
                #print(a,b)
                myset.add((a*k, b*k))
                k += 1
res = sorted(list(myset))
#print(len(res))
for i in res :
    print(*i)
Выводит все пары чисел "a" и "b" такие, что a^2 + b^2 = c^2, где a, b, c <= N

Добавлено через 6 минут
Если (6, 8) не подходит, то
Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
def gcd(a, b, c = None):
    return ((a if b == 0 else gcd(b, a % b)) if c is None
            else gcd(gcd(a, b), gcd(a, c)))
 
n = int(input())
m = int(n ** 0.5) + 1
myset = set()
for i in range(1, m + (m + 1) % 2, 2) :
    for j in range(2, m + m % 2, 2) :
        if i*i + j*j < n + 1 :
            a = 2 * i * j
            b = abs(i * i - j * j)
            if a > b :
                a, b = b, a
            c = i * i + j * j
            d = gcd(a, b, c)
            myset.add((a // d, b // d))
res = sorted(list(myset))
for i in res :
    print(*i)
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
27.12.2020, 22:17
Помогаю со студенческими работами здесь

Можно ли представить число в виде суммы двух квадратов натуральных чисел?
Дано натуральное число n. Можно ли представить его в виде суммы двух квадратов натуральных чисел? Если можно то а) ...

Среди чисел 1, 2, ... n найти все те, которые можно представить в виде суммы квадратов двух натуральных чисел
Дано натуральное число n. Среди чисел 1, 2, ... n найти все те, которые можно представить в виде суммы квадратов двух натуральных...

Среди чисел найти все те, которые можно представить в виде суммы квадратов двух натуральных чисел
Дано натуральное число n. Среди чисел найти все те, которые можно представить в виде суммы квадратов двух натуральных чисел. (Определить...

Среди чисел найти все те, которые можно представить в виде суммы квадратов двух натуральных чисел
Дано натуральное число n. Среди чисел 1,2,...,n найти все те, которые можно представить в виде суммы квадратов двух натуральных чисел. ...

Среди чисел 1, 2, …, n найти все те, которые можно представить в виде суммы квадратов двух натуральных чисел
Вот такая вот задачка: Дано натуральное число n. Среди чисел 1, 2, …, n найти все те, которые можно представить в виде суммы квадратов...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
13
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование . \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json> Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом. # Check if. . .
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так: https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347 Основана на STM32F303RBT6. На борту пять. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru