М
Молодежь
К
Компьютеры-и-электроника
Д
Дом-и-сад
С
Стиль-и-уход-за-собой
П
Праздники-и-традиции
Т
Транспорт
П
Путешествия
С
Семейная-жизнь
Ф
Философия-и-религия
Б
Без категории
М
Мир-работы
Х
Хобби-и-рукоделие
И
Искусство-и-развлечения
В
Взаимоотношения
З
Здоровье
К
Кулинария-и-гостеприимство
Ф
Финансы-и-бизнес
П
Питомцы-и-животные
О
Образование
О
Образование-и-коммуникации
vladssos04
vladssos04
18.11.2022 01:31 •  Информатика

Будем называть число красивым, если сумма его цифр в десятичной системе счисления делятся на количество цифр в нём (в десятичной системе счисления). необходимо найти n-ое в порядке возрастания красивое число. примеры : 1 - 1; 15 - 20; все это надо в паскале abc

👇
Ответ:
Catco111
Catco111
18.11.2022
// PascalABC.Net

function IsNice(n:longint):boolean;
// Отвечает на вопрос, является ли число красивым
var
  d,nd,sd:byte;
begin
  sd:=0; nd:=0;
  repeat
    d:=n mod 10;
    sd:=sd+d; Inc(nd);
    n:=n div 10
  until n=0;
  IsNice:=(sd mod nd = 0)
end;

var
  i,n,k:longint;
begin
  Write('Порядковый номер "красивого" числа: '); Read(n);
  i:=1; k:=0;
  repeat
    if IsNice(i) then Inc(k);
    if k<>n then Inc(i)
  until k=n;
  Writeln('Красивое число равно ',i)
end.

Тестовое решение:
Порядковый номер "красивого" числа: 15
Красивое число равно 20
4,5(43 оценок)
Ответ:
СуПерБро123
СуПерБро123
18.11.2022
Добрый день!

Чтобы найти n-ое в порядке возрастания красивое число, нам нужно сначала понять, как именно работает алгоритм для нахождения таких чисел.

1. Начнем с создания функции для проверки, является ли число красивым. Внутри этой функции мы рассмотрим каждую цифру числа и будем суммировать их. Затем мы проверим, делится ли сумма на количество цифр в числе без остатка. Если делится, то число является красивым, иначе - нет.

2. Далее создадим основную функцию, которая будет искать n-ое красивое число. В этой функции мы будем создавать переменные - текущее число (начиная с 1) и счетчик найденных красивых чисел.

3. В цикле мы будем проверять, является ли текущее число красивым. Если да, увеличиваем счетчик найденных красивых чисел и проверяем, равен ли счетчик n. Если да, то мы нашли n-ое красивое число и возвращаем его.

4. Если текущее число не является красивым, мы увеличиваем его на 1 и продолжаем цикл до тех пор, пока не найдем n-ое красивое число.

Вот код на языке PascalABC для решения этой задачи:

```pascal
function IsBeautifulNumber(num: integer): boolean;
var
sum, digitCount, temp: integer;
begin
sum := 0;
temp := num;
digitCount := 0;

while temp > 0 do
begin
sum := sum + (temp mod 10);
temp := temp div 10;
digitCount := digitCount + 1;
end;

if (sum mod digitCount) = 0 then
IsBeautifulNumber := true
else
IsBeautifulNumber := false;
end;

function FindNthBeautifulNumber(n: integer): integer;
var
beautifulCount, currentNumber, result: integer;
begin
beautifulCount := 0;
currentNumber := 1;

while beautifulCount < n do
begin
if IsBeautifulNumber(currentNumber) then
begin
beautifulCount := beautifulCount + 1;

if beautifulCount = n then
begin
result := currentNumber;
break;
end;
end;

currentNumber := currentNumber + 1;
end;

FindNthBeautifulNumber := result;
end;

var
n: integer;
nthBeautifulNumber: integer;
begin
writeln('Введите n:');
readln(n);

nthBeautifulNumber := FindNthBeautifulNumber(n);

writeln('n-ое красивое число:', nthBeautifulNumber);
end.
```

В этом коде мы используем две функции: IsBeautifulNumber и FindNthBeautifulNumber. Первая проверяет, является ли число красивым, и возвращает булево значение, вторая находит n-ое красивое число и возвращает его.

Надеюсь, мой ответ будет для вас понятен и полезен! Если у вас возникнут дополнительные вопросы, не стесняйтесь задавать их.
4,4(15 оценок)
Проверить ответ в нейросети
Новые ответы от MOGZ: Информатика
logo
Вход Регистрация
Что ты хочешь узнать?
Спроси Mozg
Открыть лучший ответ