【每周例题】力扣 c++ 各位相加

各位相加

题目

各位相加

 题目解析

这个题目看似需要使用递归方法或者使用while循环进行求解,其实你只需要统计前三十个数就可以发现规律:

 

 根据图表可知,除了数字0,其他数字各位相加的最后结果都是其数字对9取模。所以从这个结果可以得到以下代码

代码

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#include <iostream>
using namespace std;
 
int addDigits(int num)
{
    if (num == 0)
        return 0;
    else if (num % 9 == 0)
        return 9;
    else
        return num % 9;
}
 
int main()
{
    int num;
    cin >> num;
    cout << addDigits(num);
}

通过力扣的代码为

1
2
3
4
5
6
7
8
9
10
11
12
class Solution {
public:
    int addDigits(int num)
    {
        if (num == 0)
            return 0;
        else if (num % 9 == 0)
            return 9;
        else
            return num % 9;
    }
};

  

 

posted @   山远尽成云  阅读(15)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 终于写完轮子一部分:tcp代理 了,记录一下
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
点击右上角即可分享
微信分享提示