Нахождение цифр (в числе), которые точно делят число

Я пишу программу, чтобы найти количество цифр в числе, которое точно делит это число (остаток = 0).

Например, для 145. Есть 2 цифры, которые делят 145, 1 и 5 (145% 2 = 0,145% 1 = 0).

Когда число содержит 0 в качестве цифры, например 102, программа завершается ошибкой. Я понимаю, что не могу разделить на ноль, я пытался решить эту проблему, но программа все еще не работает. Любые предложения о том, как избежать деления на ноль?

#include <iostream>

int main(){
std::cout<<"Enter a number: ";
int n,digit,count=0;
std::cin>>n;

while(n){
digit = n%10;
if(digit==0) continue;
else{
if(n%(digit)==0) count++; n /= 10;}
}

std::cout<<"Number of digits that divide the number: "<<count<<"\n"; count=0;
}

0

Решение

    int n , digit, count = 0;
std::cin >> n;
int cn = n;

while (n){

digit = n % 10;
n /= 10;

if (digit == 0) continue;
else{
if (cn % (digit) == 0) count++;
}

}
0

Другие решения


По вопросам рекламы ammmcru@yandex.ru
Adblock
detector