//请在小于99999的正整数中找符合下列条件的数,它既是完全平方数,又有两位数字相同,如:144,676。用c语言编写(不能用数字转换成字符串)。 #include "stdafx.h" #include <stdio.h.> #include <math.h> #include <memory.h> #define N 99999 void fun( int n) { int i,sqnum, tmp; //sqnum = i*i i = 4; sqnum = 16; char num[10] = {0}; //记录数字0到9出现次数 while (sqnum <= 99999) { tmp = sqnum; while (tmp) { if (1 == num[tmp%10]) { printf("%5d/t",sqnum); break; } ++num[tmp%10]; tmp /= 10; } memset(num, 0, 10); ++i; sqnum = i*i; } } int _tmain(int argc, _TCHAR* argv[]) { fun(N); return 0; }