Напишите программу поиска трехзначных чисел, таких, что сумма трех цифр на которые оканчивается квадрат этого числа, равняется этому числу.

Ответы

Ответ дал: asoiiu
0
Pascal ABC.Net 3.3.5

Вот только программа выдает, что таких чисел нет )))

program Poisk;

var
  i, a, b, c, d: integer;

begin
  for i := 100 to 999 do
    a := sqr(i); {переменной а присваиваем квадрат числа}
  b := a mod 10; {переменной b присваиваем остаток основного числа. Это 1-я цифра}
  a := a div 10; {переменной а присваиваем целую часть основного числа}
  c := a mod 10; {переменной c присваиваем остаток числа. Это 2-я цифра}
  a := a div 10; {переменной а присваиваем целую часть числа}
  d := a mod 10; {переменной d присваиваем остаток числа. 3-я цифра}
  a := b + c + d; {переменной а присваиваем сумму 3-х цифр}
 
  if a = i {если а = основному числу}
    then writeln(i, ' ', a) {то вывод такого числа}
  else writeln('Таких чисел нет.'); {иначе вывод, что таких чисел нет}
end.

Приложения:
Ответ дал: FreeProgrammer
0
Замечание: в цикле сейчас вычисляются только квадраты трехзначных чисел. Остальные команды "выпали" из цикла, т.к. отсутствуют операторные скобки begin ... end. То есть сейчас в программе проверяется условие только для последнего числа. Но результат действительно отрицательный: трехзначных чисел, удовлетворяющих условию, нет.
Вас заинтересует