对于给定的正整数n,计算其各个位上的数字之和。C++
时间: 2024-04-12 07:30:22 浏览: 104
您好!要计算一个正整数n的各个位上的数字之和,您可以使用以下的C++代码实现:
```cpp
#include <iostream>
int sumOfDigits(int n) {
int sum = 0;
while (n > 0) {
sum += n % 10; // 取得最低位上的数字并加到总和中
n /= 10; // 去除最低位上的数字
}
return sum;
}
int main() {
int n;
std::cout << "请输入一个正整数: ";
std::cin >> n;
int digitSum = sumOfDigits(n);
std::cout << "各个位上的数字之和为: " << digitSum << std::endl;
return 0;
}
```
在这段代码中,我们定义了一个`sumOfDigits`函数来计算数字之和。在主函数`main`中,我们从用户输入获取一个正整数n,并将其传递给`sumOfDigits`函数来计算各个位上的数字之和。最后,我们将结果打印到控制台上。
希望这个代码对您有所帮助!如果您有任何其他问题,请随时提问。
相关问题
给定一个正整数n,求出它的各位数字平方和
算法1:字符串转换
将n转换为字符串,逐位计算平方和。
时间复杂度:$O(\log n)$
C++ 代码
class Solution {
public:
int digitSquareSum(int n) {
int sum = 0;
string s = to_string(n);
for (char c : s) {
int d = c - '0';
sum += d * d;
}
return sum;
}
};
算法2:取模运算
不断取n的每一位数字,计算平方和,并将n除以10。
时间复杂度:$O(\log n)$
C++ 代码
class Solution {
public:
int digitSquareSum(int n) {
int sum = 0;
while (n) {
int d = n % 10;
sum += d * d;
n /= 10;
}
return sum;
}
};
用C++实现给定一个不超过1000位的正整数N,统计0-9各数字出现的次数
可以使用数组来统计每个数字出现的次数。具体实现如下:
```c++
#include <iostream>
#include <cstring>
using namespace std;
int main() {
char num[1001]; // 存储输入的数字
int count[10]; // 统计每个数字出现的次数
memset(count, 0, sizeof(count)); // 将count数组全部初始化为0
cin >> num; // 输入数字
int len = strlen(num); // 获取数字的长度
for (int i = 0; i < len; i++) {
count[num[i] - '0']++; // 统计数字出现的次数
}
for (int i = 0; i < 10; i++) {
cout << i << ": " << count[i] << endl; // 输出每个数字出现的次数
}
return 0;
}
```
在输入一个不超过1000位的正整数后,程序会统计数字0-9各出现的次数,并输出结果。
相关推荐
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)