当前位置:文档之家› 浙大JAVA 实验习题答案08answer

浙大JAVA 实验习题答案08answer

实验8 Method的使用
1.程序填空题,不要改变与输入输出有关的语句。

50001
输入一个正整数repeat (0<repeat<10),做repeat次下列运算:输入1 个正整数n,计算 s 的前n项的和(保留 4 位小数)。

s = 1 + 1/2! +....+ 1/n!
要求定义并调用函数fact(n)计算n的阶乘。

例:括号内是说明
int i;
double f=1;
for(i=1;i<=n;i++)
f*=i;
return f;
}
}
50002
输入一个正整数repeat (0<repeat<10),做repeat次下列运算:输入2个正整数a和n, 求a+aa+aaa+aa…a(n个a)之和。

要求定义并调用函数fn(a,n),它的功能是返回aa…a(n个a)。

例如,fn(3,2)的返回值是33。

例:括号内是说明
输入
2 (repeat=2)
2 3 (a=2, n=3)
8 5 (a=8, n=5)
输出
246 (2+22+222)
98760 (8+88+888+8888+88888)
imponner;
public class Test50002{
}
}
读入1 个整数,统计并输出该数中2的个数。

要求定义并调用函数countdigit(number,digit),它的功能是统计整数number中数字digit 的个数。

例如,countdigit(10090,0)的返回值是3。

例:括号内是说明
输入:
3 (repeat=3)
-21902
2
345543
输出:
count=2 (-21902中有2个2)
count=1 (有1个2)
count=0 (345543中没有2)
public class Test50003{
public static void main(String args[]){
int ri, repeat;
int count;
long n;
Scanner in=new Scanner(System.in);
repeat=in.nextInt();
for(ri=1; ri<=repeat; ri++){
}
和自身
输入
4 (repeat=4)
1 2 9 17
输出
NO (1不是素数)
YES (2是素数)
NO (9不是素数)
YES (17是素数)
public class Test50004{
public static void main(String args[]){
int ri, repeat,n;
boolean flag;
Scanner in=new Scanner(System.in);
repeat=in.nextInt();
for(ri=1; ri<=repeat; ri++){
n=in.nextInt();
/*---------*/
flag=prime(n);
if(flag)
}
}
}
import java.util.Scanner;
public class Test50005{
public static void main(String args[]){ int ri, repeat;
int count, i, m, n, sum;
Scanner in=new Scanner(System.in);
repeat=in.nextInt();
for(ri=1; ri<=repeat; ri++){
m=in.nextInt();
n=in.nextInt();
/*---------*/
count=0;
sum=0;
for(i=m;i<=n;i++)
if(prime(i)){count++; sum+=i;} }
}
/*------------*/
static boolean prime(int m){
boolean flag=true;
if(m==1)flag=false;
}

int i, m, n;
long f;
Scanner in=new Scanner(System.in);
repeat=in.nextInt();
for(ri=1; ri<=repeat; ri++){
m=in.nextInt();
n=in.nextInt();
/*---------*/
i=1;
f=1;
while(f<=n){
if(f>=m) System.out.print(f+" ");
i++;
f=fib(i);
}
}
}
/*------------*/
sta ti c long fib(int n){ //返回第n项Fibonacci数int i;
}
public static void main(String args[]){
int ri,repeat;
int i, m, n;
Scanner in=new Scanner(System.in);
repeat=in.nextInt();
for(ri=1;ri<=repeat;ri++){
m=in.nextInt();
n=in.nextInt();
/*---------*/
for(i=m;i<=n;i++)
if(i==factorsum(i))
System.out.print(i+" ");
}
}
/*---------*/
static int factorsum(int number){ //返回number的因子和int sum=0;
if(number==1)sum=1;
for(int i=1;i<=number-1;i++)
if(number%i==0)sum+=i;
}
1
/*---------*/
for(i=m;i<=n;i++)
if(is(i))System.out.print(i+" ");
}
}
/*---------*/
//判断number的各位数字之立方和是否等于它本身
static boolean is(int number){
int sum=0,n,digit;
n=number;
while(n>0){
digit=n%10;
n=n/10;
sum+=digit*digit*digit;
}
if(number==sum)return true;
else return false;
}
}
50009
-1
-2
99
}
/*---------*/
static long reverse(long number){//返回number的逆序数int flag=1;
long a=0,digit;
if(number<0){
flag=-1;
number=-number;
}
while(number>0){
digit=number%10; //分离出个位数字
a=a*10+digit; //形成当前的逆序数
number=number/10;
}
return flag*a;
}
}
50011
输入
/*-----------------*/
maximun=maximun(a,b,c);
Sy
}
}
/*-------------------*/
static int maximun(int a,int b,int c){ int max=a;
if(max<b)max=b;
if(max<c)max=c;
return max; }
}。

相关主题