Определить Кратное Ли Число 3 (9)

Тема в разделе "C/C++/C#", создана пользователем kisslata, 15 ноя 2012.

  1. kisslata

    kisslata New Member

    Регистрация:
    15 ноя 2012
    Сообщения:
    2
    Симпатии:
    0
    Помогите, пожалуйста. Знаю, задача простенькая, но все же. На С++

    Для заданного целого числа определить а) кратное ли оно 3; а) кратное ли оно 9. Использовать следующее свойство: если сумма цифр числа кратна 3 (9), то и число кратное 3 (9).
     
  2. rrrFer

    rrrFer Well-Known Member
    Команда форума C\C++ Team

    Регистрация:
    6 сен 2011
    Сообщения:
    1.324
    Симпатии:
    36
    Код (Text):
    #include <iostream>
    #include <sstream>
    bool p3(int num) {
    if (3 == num) return true;
    if (10 > num) return false;
    std::stringstream sstr;
    std::string str;
    sstr << num; sstr >> str;
    int sum = 0;
    for (auto t : str) sum += t - '0';
    return p3(sum);
    }
    int main() {
    int num;
    std::cin >> num;
    std::cout << (p3(num) ? "true" : "false");
    std::cin.get(), std::cin.get();
    return 0;
    }
    замени 3 на 9, получишь вторую часть.
     
  3. kisslata

    kisslata New Member

    Регистрация:
    15 ноя 2012
    Сообщения:
    2
    Симпатии:
    0
    Спасибо, очень помогли!
     
Загрузка...

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