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

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

26.12.2020, 23:54. Показов 2161. Ответов 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
8840 / 4492 / 1864
Регистрация: 27.03.2020
Сообщений: 7,312
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
8840 / 4492 / 1864
Регистрация: 27.03.2020
Сообщений: 7,312
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
8840 / 4492 / 1864
Регистрация: 27.03.2020
Сообщений: 7,312
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
Ответ Создать тему
Новые блоги и статьи
Кто-нибудь знает, где можно бесплатно получить настольный компьютер или ноутбук? США.
Programma_Boinc 26.12.2025
Кто-нибудь знает, где можно бесплатно получить настольный компьютер или ноутбук? США. Нашел на реддите интересную статью под названием «Кто-нибудь знает, где получить бесплатный компьютер или. . .
Thinkpad X220 Tablet — это лучший бюджетный ноутбук для учёбы, точка.
Programma_Boinc 23.12.2025
Рецензия / Мнение/ Перевод Нашел на реддите интересную статью под названием The Thinkpad X220 Tablet is the best budget school laptop period . Ниже её машинный перевод. Thinkpad X220 Tablet —. . .
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Как объединить две одинаковые БД Access с разными данными
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 05.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru