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

各位相加

题目

各位相加

 题目解析

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

 

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

代码

#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);
}

通过力扣的代码为

class Solution {
public:
	int addDigits(int num)
	{
		if (num == 0)
			return 0;
		else if (num % 9 == 0)
			return 9;
		else
			return num % 9;
	}
};

  

 

posted @ 2024-03-24 16:05  山远尽成云  阅读(21)  评论(0)    收藏  举报