54 lines
642 B
C
54 lines
642 B
C
|
||
#include "stdio.h"
|
||
|
||
int isSquare(unsigned integer){
|
||
|
||
if (integer==1 || integer==0)
|
||
{
|
||
return integer;
|
||
}
|
||
|
||
int divider=2,result=integer/divider;
|
||
|
||
while(result>divider){
|
||
|
||
divider++;
|
||
result = integer/divider;
|
||
|
||
}
|
||
|
||
if (result!=divider)
|
||
{
|
||
return -1;
|
||
}
|
||
|
||
return result;
|
||
}
|
||
|
||
|
||
int main(int argc, char const *argv[])
|
||
{
|
||
// 243,1849(43),289(17), 64(8)
|
||
|
||
int a[] = {1849,144,243,289,64,1194877489};
|
||
for (int i = 0; i < sizeof(a)/sizeof(int); ++i)
|
||
{
|
||
int ret = isSquare(a[i]);
|
||
|
||
if (ret==-1)
|
||
{
|
||
printf("%d 不是某个数的平方\n",a[i]);
|
||
}else{
|
||
|
||
printf("%d 是 %d 的平方\n", a[i], ret);
|
||
}
|
||
|
||
}
|
||
|
||
return 0;
|
||
}
|
||
|
||
|
||
|
||
|