![]() |
1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code].
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!
![]() |
Максим |
![]()
Сообщение
#1
|
Гость ![]() |
Найти все натуральные числа, не превосходящие заданного числа n, представимые в виде суммы квадратов двух каких-нибудь различных натуральных чисел.
|
![]() ![]() |
Amro |
![]()
Сообщение
#2
|
![]() Пионер ![]() ![]() Группа: Пользователи Сообщений: 146 Пол: Мужской Репутация: ![]() ![]() ![]() |
Можно попробывать так, правда вывод плохой ;)
зато всё находит Код uses crt; var n,f,i,j,nat: integer; mnoz: set of byte; begin clrscr; write('Задайте число n '); readln(n); f:=round(sqrt(n)); for i:=1 to f do begin for j:=1 to i-1 do begin nat:=sqr(i)+sqr(j); if not (nat in mnoz) then include(mnoz,nat) else nat:=0; if (nat<=n) then if nat<>0 then write(nat:3); end; writeln; end; readkey; end. Исправленно!!! Сообщение отредактировано: Amro - 21.10.2004 13:52 -------------------- Закон иудеев: Семь раз отмерь, один отрежь.
Закон экономии: Семь раз отмерь, семь раз отрежь. Закон программиста: Семь раз отрежь, ошибся, отмерь. |
zx1024 |
![]()
Сообщение
#3
|
![]() Пионер ![]() ![]() Группа: Пользователи Сообщений: 119 Пол: Мужской Репутация: ![]() ![]() ![]() |
Второй цикл (по j) нужно пустить не до f, а до i-1.
|
Amro |
![]()
Сообщение
#4
|
![]() Пионер ![]() ![]() Группа: Пользователи Сообщений: 146 Пол: Мужской Репутация: ![]() ![]() ![]() |
Цитата Второй цикл (по j) нужно пустить не до f, а до i-1. zx1024 Если сделать так то прога будет находить не все числа!!! К примеру не будет числа 2, не будет 8-ми, а должно быть!!! Я согласен с тем что делая второй цикл до f мы перебираем лишнего, но в данной программе быстродействием можно пренебречь ... Хотя я сам что то глючу, там же сказано разные нат числа, тагды прога будет для двух вариантов первый если j до i-1 для разных нат чисел, как ты и имел ввиду второй если J до f для любых....... Сообщение отредактировано: Amro - 21.10.2004 13:48 -------------------- Закон иудеев: Семь раз отмерь, один отрежь.
Закон экономии: Семь раз отмерь, семь раз отрежь. Закон программиста: Семь раз отрежь, ошибся, отмерь. |
zx1024 |
![]()
Сообщение
#5
|
![]() Пионер ![]() ![]() Группа: Пользователи Сообщений: 119 Пол: Мужской Репутация: ![]() ![]() ![]() |
В любом случае, если нужны одинаковые, то до i.
2*2 + 5*5 = 5*5 + 2*2. |
Amro |
![]()
Сообщение
#6
|
![]() Пионер ![]() ![]() Группа: Пользователи Сообщений: 146 Пол: Мужской Репутация: ![]() ![]() ![]() |
Цитата В любом случае, если нужны одинаковые, то до i. Точно .... -------------------- Закон иудеев: Семь раз отмерь, один отрежь.
Закон экономии: Семь раз отмерь, семь раз отрежь. Закон программиста: Семь раз отрежь, ошибся, отмерь. |
![]() ![]() |
![]() |
Текстовая версия | 20.07.2025 14:03 |