蓝桥杯:奇妙的数字(C++)
生活随笔
收集整理的這篇文章主要介紹了
蓝桥杯:奇妙的数字(C++)
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
原題:
小明發(fā)現(xiàn)了一個奇妙的數(shù)字。它的平方和立方正好把0~9的10個數(shù)字每個用且只用了一次。
你能猜出這個數(shù)字是多少嗎?
解題思路:
一個兩位數(shù)的平方可能是一個三或四位數(shù)
一個兩位數(shù)的立方可能是一個四、五、六位數(shù)
所以結(jié)果一定是一個兩位數(shù),而且這個兩位數(shù)的立方必須是一個六位數(shù)。
代碼實現(xiàn):
#include <iostream> using namespace std;bool IsOk(int number) {int s[10] = {0};int square = number * number, cube = square * number;while (square){s[square % 10] = 1;square /= 10;}while (cube){s[cube % 10] = 1;cube /= 10;}for (auto i: s)if (i != 1) return false;return true; }int main() {for (int i = 10; i < 100; ++i)if (IsOk(i))cout << i;return 0; }運行結(jié)果:
69總結(jié)
以上是生活随笔為你收集整理的蓝桥杯:奇妙的数字(C++)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: linux文本编辑器vi保存命令,lin
- 下一篇: 蓝桥杯2015年第六届C/C++省赛A组