大佬们求请教这道sky数的c语言题目怎么编写?

我的思路是这样的,但为什么这两个数结果都不是sky数啊,不应该2992是sky数吗?

你在sky函数里,第一个while已经把x消耗为0了,那么第2个和第3个while都进不去了,那肯定错了
每个while分别改为
for(int i=x;i;s1+=i%10,i/=10);
for(int i=x;i;s2+=i%16,i/=16);
for(int i=x;i;s3+=i%12,i/=12);
温馨提示:答案为网友推荐,仅供参考
相似回答