一、题目
小明发现了一个奇妙的数字。它的平方和立方正好把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 {