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

0 голосов
79 просмотров

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


Информатика (235 баллов) | 79 просмотров
0

а какой ЯП?

Дан 1 ответ
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.


image
(2.3k баллов)
0

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