Технический форум

Технический форум (http://www.tehnari.ru/)
-   Delphi, Kylix and Pascal (http://www.tehnari.ru/f43/)
-   -   Найти из диапазона от 1 до N (http://www.tehnari.ru/f43/t92589/)

borntank 26.11.2013 10:02

Найти из диапазона от 1 до N
 
найти из диапазона от 1 до n такие нчисла сумма цифр которых возведенная в степень, равную кол-ву цифр этого числа,равно самому числу. Число n вводится с клавиатуры. Паскаль!

Vladimir_S 26.11.2013 11:23

Цитата:

Сообщение от borntank (Сообщение 973564)
найти из диапазона от 1 до n такие нчисла сумма цифр которых возведенная в степень, равную кол-ву цифр этого числа,равно самому числу. Число n вводится с клавиатуры. Паскаль!

И Вам тоже здравствовать!
Ну как же не откликнуться на столь любезно выраженную просьбу? Надеюсь, что своей назойливостью я не доставил Вам неудобств... Если изыщете время, гляньте, пожалуйста, на убогий труд сей:
Код:

Var
 n,n1,i:LongInt;
 NoF,Sum:byte;
Begin
 Write('n= ');
 Readln(n);
 For i:=1 to n do
  begin
  NoF:=Trunc(Ln(i)/Ln(10))+1;
  n1:=i;
  Sum:=0;
  repeat
    Sum:=Sum+(n1 mod 10);
    n1:=n1 div 10;
  until n1=0;
  if Round(Exp(NoF*Ln(Sum)))=i then Write(i,' ');
  end;
 Readln
End.


borntank 26.11.2013 11:42

Спасибо большое,уж извините. На паре сижу,как смог написал) еще раз спасибо)

Vladimir_S 26.11.2013 11:52

Цитата:

Сообщение от borntank (Сообщение 973583)
Спасибо большое,уж извините. На паре сижу,как смог написал) еще раз спасибо)

Да, сейчас посмотрел Ваши прошлые задачки - у вас ведь АВС? Тогда LongInt замените на Integer. И вообще, это нужно всегда указывать, а не просто "Паскаль!".

borntank 26.11.2013 12:04

Там какая-та ошибка,например пишу число 23 должно быть (2+3)=6 и возвести квадрат его 36, а он выводит 123456789

Vladimir_S 26.11.2013 13:06

Вложений: 1
Цитата:

Сообщение от borntank (Сообщение 973607)
Там какая-та ошибка,например пишу число 23 должно быть (2+3)=6 и возвести квадрат его 36, а он выводит 123456789

Так. Еще раз и в сотый раз повторяю: я НЕ ВЫКЛАДЫВАЮ сырых неотлаженных программ! Читаем условие задачи:
1. Вводим n.
2. Проходим ВЕСЬ ДИАПАЗОН от 1 до n и выводим ВСЕ числа из этого диапазона, обладающие свойством: сумма цифр, возведенная в степень, равную значности числа, есть самО число. Таким свойством обладают, естественно, ВСЕ однозначные числа, потому они и выводятся.
Цитата:

Сообщение от borntank (Сообщение 973607)
должно быть (2+3)=6

Вы АБСОЛЮТНО в этом уверены?

На рисунке показан результат работы программы.


Часовой пояс GMT +4, время: 07:09.

Powered by vBulletin® Version 4.5.3
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.