/*------------*/
static int countdigit(long n,int digit) { int count=0; digit=2; String a=String.valueOf(n); int b=a.length(); for(int i=0;i
42.判断素数(用方法)
程序填空,不要改变与输入输出有关的语句。
输入一个正整数repeat (0 4 (repeat=4) 1 2 9 17 输出 NO (1不是素数) YES (2是素数) NO (9不是素数) YES (17是素数) import java.util.Scanner; 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) System.out.println(\ else System.out.println(\ } } /*------------*/ public static boolean prime(int m) { boolean t=false; int i; for(i=2;i 43.统计素数并求和 程序填空,不要改变与输入输出有关的语句。 输入一个正整数repeat (0 统计并输出m 和n之间的素数的个数以及这些素数的和 (素数就是只能被1和自身整除的正整数,1不是素数,2是素数)。 要求定义并调用函数prime(m)判断m是否为素数。 例:括号内是说明 输入: 3 (repeat=3) 1 10 (m=1, n=10) 20 35 (m=20, n=35) 14 16 (m=14, n=16) 输出: count=4, sum=17 (1到10之间有4个素数:2,3,5,7) count=3, sum=83 (20到35之间有3个素数:23, 29, 31) count=0, sum=0 (14到16之间没有素数) 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(); /*---------*/ System.out.println(\ } } /*------------*/ } 44.输出Fibonacci序列 /*程序填空,不要改变与输入输出有关的语句。 输入一个正整数repeat (0 输入2 个正整数m和n(1<=m,n<=10000),输出m 和n之间所有的Fibonacci数。 Fibonacci 序列(第1项起):1 1 2 3 5 8 13 21 ...... 要求定义并调用函数fib(n),它的功能是返回第n项Fibonacci数。 例如,fib(7)的返回值是13。 输出语句:System.out.print(f+\ 例:括号内是说明 输入: 3 (repeat=3) 1 10 (m=1, n=10) 20 100 (m=20, n=100) 1000 6000 (m=1000, n=6000) 输出: 1 1 2 3 5 8 (1到10之间的Fibonacci数) 21 34 55 89 (20到100之间的Fibonacci数) 1597 2584 4181 (1000到6000之间的Fibonacci数) */ import java.util.Scanner; public class Test50006{ public static void main(String args[]){ int ri,repeat; 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(); /*---------*/ for(i=1;i<=n;i++) { f=fib(i); if(f>=m&&f<=n) System.out.print(f+\ } System.out.println(); } } /*------------*/ static int fib(int i) { int a=1,b=1,t,f=1; for(int j=3;j<=i;j++) { f=a+b; t=a+b; a=b; b=t; } return f; } } 45.求完数 /*输入2 个正整数m和n(1<=m,n<=1000),输出m 到n之间的所有完数 (完数就是因子和与它本身相等的数)。 要求定义并调用函数factorsum(number),它的功能是返回number的因子和。 例如,factorsum(12)的返回值是16(1+2+3+4+6)。 输出语句:System.out.print(i+\例:括号内是说明 输入: 2 (repeat=2) 20 500 (m=100, n=400) 1 100 (m=1, n=100) 输出: 28 496 1 6 288*/ import java.util.Scanner; public class Test50007{ 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++) { factorsum(i); if (factorsum(i)==i) System.out.print(i+\ } System.out.println(); } } /*---------*/ static int factorsum(int n) { int s=0; for(int i=2;i 46.求各位数字的立方和等于它本身的数 程序填空,不要改变与输入输出有关的语句。 输入一个正整数repeat (0 输出m 到n之间的所有满足各位数字的立方和等于它本身的数。 要求定义并调用函数is(number)判断number的各位数字之立方和是否等于它本身。 输出语句:System.out.print(i+\例:括号内是说明