*/
package questions;
public class Q10
{
public static void main(String[]args)
{
int n=0;
for(int i=0;i<=100000;i++)//先确定一个在100000内的大概范围
{
if(isCompSqrt(i+100))
{
n=i;
break;
}
}
System.out.print("所求的数是:"+n);
}
private static boolean isCompSqrt(int p)//判断完全平方数的方法
{
boolean flag=false;
double fsqrt=Math.sqrt(p);//先将数开平方
int q=(int)fsqrt;//转换成整数,另q为开平方且转换为整数的结果。
if(p==Math.pow(q,2))//pow(x,y)就是计算x的y次幂。把开平方后的整数再平方,看看它和开平方之前的数是不是相等。
{
flag=true;
}
return flag;
}
}
return用法:
作用是结束正在运行的函数,并返回函数值。return后面可以跟一个常量,变量,或是表达式。
函数的定义一般是这样的,例如:
int a(int i)//第一个int是函数的返回值的类型,也就是return后面跟的值的类型,a是函数的名称,括号里的是传递给函数的参数,int是参数的类型,i是参数的名字
{
...//省略函数体内容
return b;//b必须与函数头的返回值一致(此处为int型)
}
简单函数举例:
int addOne(int b)
{
return b+1;
}
该函数的作用是取得一个数,将这个数加上1,再将结果返回
调用时这样:
int result=addOne(2);//此时result的值为3
函数括号里的参数也可以为变量或能算出值的表达式
以上就是一个基本的函数,一般的函数都有返回值,也就是return后面跟的值,返回值可以为各种数据类型,如:int,float,double,char,a[](数组),*a(指针),结构或类(c++)
但不是所有函数都有返回值,如果某个函数无返回值,那么返回值的位置则为“void”关键字,此时函数体中无返回值,即无return的值。但是函数中也可出现return,即一个空的return句子,其作用是使函数立即结束,如
void print()//括号中为空表示无传递参数
{
printf("a");
printf("b");
return;//函数执行到此处结束
printf("c");
}//该函数只执行到return语句处,即屏幕上输出的为"ab"
#include
#include
int isfullsquare(unsigned long n);
int main(void)
{
unsigned long i;
for(i=0;i<=100;i++)
{
if(isfullsquare(i))
{
printf("%lu\n",i);
}
}
return 0;
}
int isfullsquare(unsigned long n)
{
return n==(unsigned long)(sqrt((double)n)+1e-6)*(unsigned long)(sqrt((double)n)+1e-6);
}
#include
int ispf(int n){
int i=0;
for(;i*i<=n;i++)
if(i*i==n)return 1;
return 0;}
int main(){
int n,i;
scanf("%d",&n);
printf(ispf(n)?"是\n":"不是\n");
for(i=1;i<=10;i++)printf("%d ",i*i);
return 0;}