65,211
社区成员
发帖
与我相关
我的任务
分享
#include <iostream>
using namespace std;
/*比如 有一个 int a = 318
*求它的每个数相加 一直到 结果是一个个位数
*就象这样的 3+1+8 = 12 ; 1+2 = 3; 3就是要求的结果
*/
int Add(int num)
{
int rvalue=0;
if(num/10!=0)
{
rvalue=num%10;
return Add(num=Add(num=num/10)+rvalue);
}
else
return num;
}
int main()
{
int num=975;
int rvalue=Add(num);
cout<<rvalue<<endl; //输出3
system("pause");
}
int fun(int a)
{
int c = 0;
do
{
c += a % 10;
a /= 10;
} while(a > 0);
return c < 10 ? c : fun(c);
} #include <iostream>
using namespace std;
int fun(int num)
{
if (num < 10)
{
return num;
}
int res = 0;
while (num > 0)
{
res += num % 10;
num /= 10;
}
// cout << res << endl;
return fun(res);
}
int main()
{
int N;
cin >> N;
cout << fun(N) << endl;
// system("PAUSE");
return 0;
}#include<iostream>
using namespace std;
int fun(int num)
{
if(num<10) return num;
int res=0;
while(num>=10)
{
res += num/10;
num/=10;
}
return fun(res);
}
void main()
{
cout<<fun(318)<<endl;
}