Предмет: Информатика, автор: vipfedorov

Напишите программу, которая вводит натуральное число и находит все числа на отрезке [0, N], сумма цифр которых не меняется при умножении числа на 2,3,4,5,6,7,8 и 9 (например, число 9). Используйте функцию для вычисления суммы цифр числа. ПАСКАЛЬ СРОЧНО ПОМОГИТЕ


HenryTeylor: Это и есть задание?
vipfedorov: Да
HenryTeylor: Я так и не понял что нужно сделать то -_-
vipfedorov: Написать функцию для этой задачи
vipfedorov: Входные данные
Входная строка содержит два натуральных числа – границы диапазона a и b . Гарантируется, что a ≤ b .

Выходные данные
Программа должна вывести все числа, удовлетворяющий условию, в одной строке, разделив их пробелами.

Примеры
входные данные
1 10
выходные данные
9
archery: ага, интересная задачка. если никто не решит, то может вечером решу

Ответы

Автор ответа: archery
7
var
    n, i, aon_i, k: integer;
    f: boolean;

function AmountOfNumbers(n: integer): integer;
var
    s: integer;
begin
    s := 0;
    while n > 0 do
    begin
        s := s + n mod 10;
        n := n div 10;
    end;
    AmountOfNumbers := s;
end;

begin
    readln(n);
   
    for i := 0 to n do
    begin
        f := true;
        aon_i := AmountOfNumbers(i);
       
        for k := 2 to 9 do
            f := f and (aon_i = AmountOfNumbers(k * i));
        if f then writeln(i);
    end;
end.

Похожие вопросы