杭电OJ 1197(C++)

基础题。

#include <iostream>
using namespace std;

//十进制数x转换为十二进制后,各位相加之和
int to12(int x)
{
	int sum = 0;
	while (x != 0)
	{
		sum += (x % 12);
		x /= 12;
	}
	return sum;
}

//十进制数x转换为十六进制后,各位相加之和
int to16(int x)
{
	int sum = 0;
	while (x != 0)
	{
		sum += (x % 16);
		x /= 16;
	}
	return sum;
}

int main()
{
	for (int i = 2992; i < 10000; i++)
	{
		int sum = 0; //十进制数i个各位相加之和
		int temp = i;
		while (temp != 0)
		{
			sum += (temp % 10);
			temp /= 10;
		}
		if (sum == to12(i) && sum == to16(i))
			cout << i << endl;
	}
	return 0;
}

继续加油。

发布了138 篇原创文章 · 获赞 1 · 访问量 7014

猜你喜欢

转载自blog.csdn.net/Intelligence1028/article/details/104589666