本文共 600 字,大约阅读时间需要 2 分钟。
代码实现
#includeint sum(int n){ // 递归思想,s=各位相加 如果依然不是个位数将继续递归 int s = 0; while(n != 0){ s = s + n % 10; n = n / 10; } return s;}int main(){ int n; while(scanf("%d",&n) != EOF){ while(n/10 > 0){ n = sum(n); } printf("%d\n",n); } return 0;}
同时该题还有一个更简单的解决办法,即直接使用数根公式进行求解。
int digitSum(int n){ // 数根公式 d=(n−1)%9+1; 直接求出结果 return (n-1)%9+1; }
转载地址:http://xmoi.baihongyu.com/