蓝桥杯——2015年C++A组第3题:奇妙的数字【枚举】
生活随笔
收集整理的這篇文章主要介紹了
蓝桥杯——2015年C++A组第3题:奇妙的数字【枚举】
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
一、題目
小明發現了一個奇妙的數字。它的平方和立方正好把0~9的10個數字每個用且只用了一次。
你能猜出這個數字是多少嗎?
請填寫該數字,不要填寫任何多余的內容。
二、思路
0-9一共有10個數字,平方只能是4位數,立方只可能是6位數。
因此這個數字是個二位數。范圍是10-99。
但是,用1000開根得到31.6,因此平方是四位數范圍從32開始,所以循環從32開始。
所以循環范圍是32-99。
用num[i]表示數字i出現過的次數。如果這個數字出現過了,跳出循環。如果沒有出現過,記錄。
三、題解
#include <iostream> using namespace std;int main() {int a;int b;int num[10];int flag;for (int i=32;i<100;i++){a=i*i;b=i*i*i;memset(num,0, sizeof(num));flag=1;while(a){if(num[a%10]){flag=0;break;}else{num[a%10]++;}a=a/10;}if(!flag)continue;while(b){if(num[b%10]){flag=0;break;}else{num[b%10]++;}b=b/10;}if(flag)cout << i << endl;}return 0; }?
四、結果
69
Process finished with exit code 0
?
總結
以上是生活随笔為你收集整理的蓝桥杯——2015年C++A组第3题:奇妙的数字【枚举】的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 【Code】背包问题九讲(崔添翼)
- 下一篇: c++ 2D小球 碰撞模拟