• B правой части каждого сообщения есть стрелки и . Не стесняйтесь оценивать ответы. Чтобы автору вопроса закрыть свой тикет, надо выбрать лучший ответ. Просто нажмите значок в правой части сообщения.

  • Курсы Академии Кодебай, стартующие в мае - июне, от команды The Codeby

    1. Цифровая криминалистика и реагирование на инциденты
    2. ОС Linux (DFIR) Старт: 16 мая
    3. Анализ фишинговых атак Старт: 16 мая Устройства для тестирования на проникновение Старт: 16 мая

    Скидки до 10%

    Полный список ближайших курсов ...

указатели. динамическая память.

  • Автор темы francuz
  • Дата начала
F

francuz

Дано натуральное число N. Найти наименьшее число М (N < M < 2N) которое делится на сумму цифр числа N (без остатка). Если такого числа нет, то вывести слово «нет». Пример. N = 12 345, М = 12360. Число 12 360 делится на число 15 — сумму цифр числа N.
 
L

lacrimosa

Дано натуральное число N. Найти наименьшее число М (N < M < 2N) которое делится на сумму цифр числа N (без остатка). Если такого числа нет, то вывести слово «нет». Пример. N = 12 345, М = 12360. Число 12 360 делится на число 15 — сумму цифр числа N.


300 руб, если ещё актуально. В личку.
 
L

lacrimosa

150 руб на электронные деньги и забирай готовую прогу (уже сделана).
 
D

DarkKnight

#include <iostream>

using namespace std;

int main (void)
{
unsigned int N; // Натуральное число (вводимое)
unsigned int M = 0; //Получаемое по условию число
int SumCif = 0 ; //Сумма всех чисел в натуральном вводимом числе

cout<<"Vvod N: ";
cin>>N;// Ввод N;

int Iter = N; // Итратор для нахождения значений цифр в числе (введен только что бы сохранить искомое знаение N)
while (Iter > 9) // Пока Больше либо равно 10 (2 разряда)
{
SumCif += Iter % 10; //остаток от деления на 10
Iter /= 10; //Убираем оди зразрядж
}
SumCif+= Iter; //Последняя одноразрядная цифра

bool iResult = false; //Булевая переменная для отценки результата True - нашли число по заданию, false - числа не найдено
Iter = N+1; // по условию N < M < 2*N
while (Iter < 2*N)
{
if (Iter % SumCif == 0){ //Число должно делить без остатка на сумму всех чисел N
M = Iter; // Если такое найдено запишим его в M
iResult = true; // Переводим в true так как число мы нашли
break; //прерываем цикл
}
Iter++; //Инкр. переменую
}

cout<<endl;
(!iResult)? cout<<"NO" : cout<<"M = "<<M; //вывод результата
cout<<endl;

return 0;
}
 
Мы в соцсетях:

Обучение наступательной кибербезопасности в игровой форме. Начать игру!