(六省)蓝桥真题 奇妙的数字
生活随笔
收集整理的這篇文章主要介紹了
(六省)蓝桥真题 奇妙的数字
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
奇妙的數字
小明發現了一個奇妙的數字。它的平方和立方正好把0~9的10個數字每個用且只用了一次。
你能猜出這個數字是多少嗎?
請填寫該數字,不要填寫任何多余的內容。
?
#include <iostream> #include <string> #include <set> using namespace std; /* run this program using the console pauser or add your own getch, system("pause") or input loop *///返回數字的位數 int numlen(int num) {int len = 0;while(num > 0){len++;num/= 10;}return len; } //判斷是否包含0~9十個數字 int is_ok(int num1,int num2) {int temp;set<int>s;//set集合特點:不添加已有的值s.clear(); while(num1>0){temp = num1%10;s.insert(temp);num1 /= 10;}while(num2>0){temp = num2%10;s.insert(temp);num2 /= 10;}return s.size() == 10; } int main(int argc, char** argv) {int x2,x3;//該數的平方和立方int len;for(int i = 1; i < 10000; i++){//通過立方來判斷,該數字最大可能為三位數,故取上限10000x2 = i*i;x3 = i*i*i;len = numlen(x2) + numlen(x3);if(len == 10){ //當位數和為10時,才能保證0~9的唯一包含if(is_ok(x2,x3)){cout<<i<<endl;cout<<x2<<" "<<x3<<endl;}} }return 0; }總結
以上是生活随笔為你收集整理的(六省)蓝桥真题 奇妙的数字的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 谷歌电子市场开发流程(3)-关于加载界面
- 下一篇: PCWorld:流量日趋集中 大公司影响