藍橋杯 立方變自身

立方變自身

觀察下面的現象,某個數字的立方,按位累加仍然等於自身。 1^3 = 1 8^3 = 512 5+1+2=8 17^3 = 4913 4+9+1+3=17 …

請你計算包括1,8,17在內,符合這個性質的正整數一共有多少個?

答案:6

方法:
這道題是將一個數的每位分割再求和,轉換爲字符串比較方便。
至於長度,6位數最大和爲54(6個9),55以後的數就不可能滿足要求了。

參考代碼:

#include<iostream>
#include<sstream>
#include<string>
using namespace std;
int main()
{
	int x3, sum = 0, cnt = 0;
	string s;
	for (int i = 1; i <= 100; i++)
	{
		sum = 0;
		x3 = i*i*i;
		stringstream ss;
		ss << x3;
		ss >> s;//將x3轉換爲字符串
		for (int j = 0; j < s.length(); j++)
		{
			sum += s[j] - '0';
		}
		if (sum == i)
			cnt++;
	}
	cout << cnt;
    return 0;
}

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章