为啥我水题也要做成这样?强迫症啊没办法。。orzzzz


题目

题目描述:
给你一个数,让他进行巴啦啦能量,沙鲁沙鲁,小魔仙大变身,如果进行变身的数不满足条件的话,就继续让他变身。。。直到满足条件为止。
巴啦啦能量,沙鲁沙鲁,小魔仙大变身:对于一个数,把他所有位上的数字进行加和,得到新的数。
如果这个数字是个位数的话,那么他就满足条件。

输入描述:
给一个整数数字n(1<=n<=1e9)。

输出描述:
输出由n经过操作满足条件的数


解析

题如其名,大水题

算法操作

  1. 就是不停的对一个数求数位和,求到小于10为止。
  2. 所以做个循环,小于10出来。
  3. 里面写个函数不停的计算数位和。

打代码

  1. 输入
  2. 循环计算
  3. 看代码~


AC代码

#include <iostream>
using namespace std;
#define IOS ios::sync_with_stdio(false); cin.tie(0); cout.tie(0);
//代码预处理区

int get_sum(int n) {
    int ans = 0;
    while (n) {
        ans += n % 10;
        n /= 10;
    }
    return ans;
}
//函数预定义区

int main() {
    IOS;
    int n; cin >> n;
    while (n > 9) n = get_sum(n);
    cout << n << endl;
    return 0;
}
//函数区