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

Тема в разделе "C/C++/C#", создана пользователем francuz, 16 июн 2010.

  1. francuz

    francuz Гость

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

    lacrimosa Гость


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

    DarkDaiver Гость

    200 рублей
    ICQ: 412842920
    mail: darkdaiver777@gmail.com
     
  4. lacrimosa

    lacrimosa Гость

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

    patriot2008 Гость

    washitgton2006[at]rambler.ru - пиши, обсудим, сделаем
     
  6. DarkKnight

    DarkKnight Well-Known Member
    C\C++ Team

    Регистрация:
    1 авг 2010
    Сообщения:
    653
    Симпатии:
    0
    #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;
    }
     
Загрузка...

Поделиться этой страницей