Другие языки программирования и технологии

помогите сделать программу

Составить линейную программу, печатающую значение true, если указанное высказывание является истинным, и false — в противном случае.
Квадрат заданного трехзначного числа равен кубу суммы цифр этого числа.
примени эту прогу к себе
program sumcifr;
uses crt;
var
n: longint;
k,s: integer;
j:integer;
begin
clrscr;
s:=0; j:=0;
write('ввести число --> ');readln(n); k:=n;
while n>0 do begin j:=j+1;
s:=s+n mod 10; writeln( n mod 10);
n:=n div 10;
end;
writeln('число цифр числа = ',j);
writeln('сумма цифр числа = ',s);
if s=k then writeln('совершенное ') else writeln(' no ');
readln;
end.
ST
Sergey Tolkachev
95 932
Лучший ответ
по образу и подобию поиска чисел Армстронга
нпрм здесь
Timur Tulegenov
Timur Tulegenov
75 663
я бы раздилил число на 100, взял бы целую часть. потом эту целую часть разделил бы на 10. взял бы снова целую часть. потом бы суммировал 2 целые части и последний остаток, а потом бы поднес трехзначное число к кубу, и проверил бы if(трехзначное число в кубе == сумме цифр числа) printf("True");
else
printf("False");
Вот код на си ++. Но я думаю, что такого натурального 3-значного числа не существует. Максимальная сумма цифр для 3-значного числа - 27. Куб 27 меньше чем квадрат 141. Следовательно, числа большие 141 гарантированно не обладают данным свойством. Из 3-значных чисел до 141 макс. суммой цифр обладает число 139. Однако его сумма цифр - 13 - меньше чем квадрат самого маленького 3-значного числа ( 100 ). Т. е. сумма цифр должна быть меньше 14 и больше корня кубического из 10000 ( корень из ста в квадрате примерно равен 21,5 ), что невозможно.
Иван Буняк
Иван Буняк
118