如果一个十进制正整数可以被它的每一个“非零数码”整除,则称它为欢乐的数,譬如 102 是一个欢乐的数,因为 102 能被1 和 2 整除,而 2021 不是欢乐的数,因为它不能被 2 整除。
给定一个正整数 a,请判定它是否为欢乐的数。
若是欢乐的数,如102,则输出"happy"。
若不是欢乐的数,请计算各位数字的和并输出,譬如 131不是欢乐数,且各数位的和是1 + 3 + 1 = 5 。
为什么我只有4分⬇️
#include <iostream>
using namespace std;
int main(){
int a,b,ans=0,c=0;
cin>>a;
for(int i=a;i!=0;i/=10){
b=i%10;
if(b==0) continue;
if(a%b!=0)c++;
ans+=b;
}
if(c==0) cout<<"happy"<<endl;
else cout<<ans<<endl;
return 0;
}