Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- program Lab2_2;
- {$APPTYPE CONSOLE}
- uses
- System.SysUtils;
- function CheckedInput: Integer;
- var
- Value: Integer;
- IsCorrect: Boolean;
- begin
- IsCorrect := false;
- repeat
- try
- Readln(Value);
- if (Value > 0) and (Value < 1001) then
- isCorrect := true
- else
- Writeln('Ошибка ввода. Введите натуральное число до 1000');
- except
- Writeln('Ошибка ввода. Введите натуральное число до 1000');
- end;
- until (isCorrect);
- Result := Value;
- end;
- function DigitSummary(Number: Integer): Integer;
- var
- Sum: Integer;
- begin
- Sum := 0;
- while (Number > 0) do
- begin
- Sum := Sum + (Number mod 10);
- Number := Number div 10;
- end;
- DigitSummary := Sum;
- end;
- var
- k, Nums: Integer;
- RealDiv: Real;
- begin
- Writeln('Данная программа находит все натуральные числа, которые в k раз больше суммы их цифр');
- Writeln('Введите k. Ввести необходимо натуральное число до 1000');
- k := CheckedInput;
- Writeln('Числа, в ', k,' раз большие суммы их цифр: ');
- for Nums := 1 to MaxInt do
- begin
- RealDiv := Nums;
- if (RealDiv / k = DigitSummary(Nums)) then
- begin
- Writeln(Nums);
- end;
- end;
- Readln;
- end.
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement