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

kisslata

New member
15.11.2012
2
0
#1
Помогите, пожалуйста. Знаю, задача простенькая, но все же. На С++

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

rrrFer

#2
Код:
#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, получишь вторую часть.