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

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

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

> незнаю как назвать, найти количество чисел удалетворящих условию
compiler
сообщение 24.03.2007 19:02
Сообщение #1


Человек
*****

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

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


Найдите все трёхзначные числа, равные сумме кубов своих цифр.
я думаю начинать надо с abc=100a+10b+c

заранее благодарен

Добавлено через 1 мин.
моя программа
var 
a,b,c,n:integer;
procedure q( var i,n:integer);
Begin
while n<>0 do begin
i:=number mod 10;
n:=n div 10;
End;
end;
Begin
for n:=99 to 1000 Do begin


a:=q(a,n);
b:=q(b,n);
c:=q(c,n);
if (n=a*a*a+b*b*b+c*c*c) then writeln(n);
end;
read(a);
end.




--------------------
Спасибо!
Удачи!
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
 
 Ответить  Открыть новую тему 
Ответов
klem4
сообщение 24.03.2007 19:22
Сообщение #2


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

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

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


По поводу твоей проги smile.gif

Цитата

а почему так не работает ошибка <<Incompatible types: got "untyped" expected "SmallInt">>

Ты еще пытаешься переменной присвоить значение которое возвращает .... процедура, а она ничего не возвращает, потомучто она не функция smile.gif

А в приведенном мной коде все просто: Вместо того чтобы перебирать все числа от 100 до 999 и разбивать каждое на цифры, что ты пытаешься сделать, проще сделать 3 цикла, переменная первого цикла - первая цифра числа, второго - вторая, третьего - третья. Таким образом мы перебираем все возможноы комбинации от 100 до 999, в теле 3-го цикла, мы получаем значение числа с такими цифрами

Первая цифра умноженная на 100 + Вторая * 10 + Третья

В первой итерации это будет

1 * 100 + 0 * 10 + 0 = 100
И смотрим, равна ли она сумме кубов
1*1*1 + 0*0*0 + 0*0*0


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


Человек
*****

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

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


все разобрался, спасибо...


--------------------
Спасибо!
Удачи!
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 

Сообщений в этой теме


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

 



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