IPB
ЛогинПароль:

> Прочтите прежде чем задавать вопрос!

1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code].
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!

 
 Ответить  Открыть новую тему 
> вычисление суммы квадратов
vg2.0
сообщение 17.06.2005 22:40
Сообщение #1


Гость






Здравствуйте! Помогите пожалуйста с программкой, мне нужно чтобы результат вычисления не повторялся, например я ввожу число 25, и прога выводит
3^2+4^2 и наоборот 4^2+3^2, а мне нужно чтобы она выводила без обратного повторения. Заранее Большое спасибо.

program project;
uses crt;
var S,i,j:longint;
count: integer;
begin clrscr;
write('Введите число_ ');
readln(S);
count := 0;
for i:=1 to S do begin
for j:=1 to S do begin
if (sqr(i))+(sqr(j))=S then begin
writeln(i,'^2','+',j,'^2','=',S); inc(count);
end;
end;
end;
if count = 0 then writeln('Данное число невозможно представить'+
' в виде суммы квадратов двух натуральных чисел!');
readkey;
end.
 К началу страницы 
+ Ответить 
virt
сообщение 18.06.2005 6:00
Сообщение #2


Знаток
****

Группа: Пользователи
Сообщений: 419
Пол: Мужской

Репутация: -  6  +


..............
for i := 1 to trunc(sqrt(S)) do
for j := i + 1 to trunc(sqrt(S)) do
.................


--------------------
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
klem4
сообщение 18.06.2005 12:33
Сообщение #3


Perl. Just code it!
******

Группа: Модераторы
Сообщений: 4 100
Пол: Мужской
Реальное имя: Андрей

Репутация: -  44  +


virt :no: 200 можно предаставить как sqr(10)+sqr(10), а выдает только
sqr(2)+sqr(14);


--------------------
perl -e 'print for (map{chr(hex)}("4861707079204E6577205965617221"=~/(.{2})/g)), "\n";'
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
volvo
сообщение 18.06.2005 12:39
Сообщение #4


Гость






Цитата(klem4 @ 18.06.05 12:33)
virt  :no:  200 можно предаставить как sqr(10)+sqr(10), а выдает только sqr(2)+sqr(14);

А поменять на
for i := 1 to trunc(sqrt(S)) do
for j := i to trunc(sqrt(S)) do

?
 К началу страницы 
+ Ответить 
vg2.0
сообщение 20.06.2005 21:23
Сообщение #5


Гость






Ограмное спасибо всем кто помог мне с задачкой для курсовой работы, сдал на отл.
Всем большое спасибо.
 К началу страницы 
+ Ответить 

 Ответить  Открыть новую тему 
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 



- Текстовая версия 20.06.2025 5:09
Хостинг предоставлен компанией "Веб Сервис Центр" при поддержке компании "ДокЛаб"