1第一种就是简单的判断一个数是否为完全平方数
代码如下:
#include<stdio.h>
//完全平方数
int main()
{
int n;
int i;
printf("please input n:");
scanf("%d",&n);
for(i=0;i<n;i++)
{
if(i*i==n)
{
printf("%d=%d*%d",n,i,i);
}
}
}
例子:输入9
结果如下图:
2第二种就是加上一个数仍然是完全平方数(取的是1000范围内的数)
例子:加上100,加上168仍然是完全平方数
这个我整了两种解法,一个是导入math.h库,使用开平方函数sqrt,代码段比较简单。
代码如下:
#include<stdio.h>
#include<math.h>
//输出整数,既是加上100是完全平方数,加上168也是完全平方数
int main()
{
int i;
int m;
int n;
for(i=0;i<1000;i++)
{
n=sqrt(i+100);
m=sqrt(i+168);
if(n*n==i+100 && m*m==i+168)
{
printf("%d=%d*%d\n%d=%d*%d",i+100,n,n,i+168,m,m);
}
}
}
第二种代码行数比较多,用了三个for循环
代码如下:(这个是我下意识就想到的)
#include<stdio.h>
//输出整数,既是加上100是完全平方数,加上168也是完全平方数
int main()
{
int i;
int j;
int l;
int m;
int n;
for(i=0;i<10000;i++)
{
n=i+100;
m=i+168;
for(j=0;j<i;j++)
{
for(l=0;l<i;l++)
{
if(j*j==n && l*l==m)
{
printf("%d=%d*%d\n%d=%d*%d",n,j,j,m,l,l);
}
}
}
}
}
答案图:
3第三种是:输出所有三位整数中,既是完全平方数,又是有两位数字相等的数
代码如下:
for 循环 while循环均可
#include<stdio.h>
//输出所有三位整数中,既是完全平方数,又是有两位数字相等的数
int main()
{
int i=100;
int j;
int a,b,c;
//while(i<1000)
for(i=100;i<1000;i++)
{
for(j=0;j<i;j++)
{
if(i==j*j)
{
a=i/100;
b=i%100/10;
c=i%10;
if(a==b||a==c||b==c)
{
printf("%d\n",i);
}
}
}
//i++;
}
return 0;
}
结果如下:
就是这样啦~
小小的总结一下简单的代码~