生成一段代码,可以判断输入的整数在十进制和二进制中,个各数位的数字相加之和是否相等
时间: 2023-06-10 18:04:01 浏览: 83
好的,以下是生成的代码:
```
#include <iostream>
#include <string>
using namespace std;
int sum_of_digits(int num, int base) {
int sum = 0;
while (num) {
sum += num % base;
num /= base;
}
return sum;
}
int main() {
int n;
cout << "请输入一个整数 n:";
cin >> n;
int decimal_sum = sum_of_digits(n, 10);
int binary_sum = sum_of_digits(n, 2);
bool is_equal = (decimal_sum == binary_sum);
if (is_equal) {
cout << "在十进制和二进制中,个各数位的数字相加之和相等。" << endl;
} else {
cout << "在十进制和二进制中,个各数位的数字相加之和不相等。" << endl;
}
return 0;
}
```
希望能够解答您的问题。
相关问题
生成一段代码,输入一个整数时,可以判断小于等于该整数的整数在十进制和二进制中,个各数位的数字相加之和相等的个数
可以参考以下代码实现,使用两个循环分别遍历十进制和二进制数,然后判断各位数字相加之和是否相等:
```
def sum_digits(n):
'''计算一个整数的各位数字之和'''
return sum(map(int, str(n)))
def count_equals(n):
'''输入一个整数n,返回小于等于n的十进制和二进制数中,各位数字之和相等的数的个数'''
count = 0
for i in range(1, n+1):
if sum_digits(i) == sum_digits(bin(i)[2:]):
count += 1
return count
```
你可以直接调用函数 count_equals(n),传入整数 n 即可获得结果。
阅读全文