JAVA 练习 找出素数
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了JAVA 练习 找出素数相关的知识,希望对你有一定的参考价值。
package com.zhang.hello; public class Task { /** * 1. 输出打印九九乘法表 * */ public void NO1(){ for(int i=1;i<10;i++){ for(int j=1;j<=i;j++){ System.out.print(j+"*"+i+"="+(i*j)+"\t"); } System.out.println(); } } /** * 2. 求1!+2!+3!+...+20!之和。 * * */ public long NO2(long n) {//n=20 long s=0; for(long i=1;i<=n;i++){ long k=1; for(long j=i;j>0;j--){ k*=j; } s+=k; } return s; } /** * 3. 求1!+5!+9!+...+21!之和。 * */ public double NO3(double n) {//n=21 double s=0; for(int i=1;i<=n;i+=4){ double k=1; for(int j=i;j>0;j--){ k*=j; } s+=k; } return s; } /** * 4. 求1+(1+2)+(1+2+3)+···+(1+2+3+···+10)的值? * */ public int NO4(int n) {//n=10 int s=0; for(int i=1;i<=n;i++){ int k=0; for(int j=i;j>0;j--){ k+=j; } s+=k; } return s; } /** * 5.输出杨辉三角 * */ public void NO5(){ int h=1; for(int i=0;i<4;i++){ for(int j=4;j>i;j--){ System.out.print(" "); } for(int j=0;j<h;j++){ System.out.print("@"); } h+=2; System.out.println(""); } System.out.println("-------------"); h=1; for(int i=0;i<4;i++){ for(int j=4;j>i;j--){ System.out.print(" "); } for(int j=0;j<h;j++){ if(j%2==0) System.out.print("@"); else System.out.print(" "); } h+=2; System.out.println(""); } } /** * 6.输出100到1000个位为3的所有素数 * */ public void NO6(){ boolean[] prime=new boolean[1000]; for(int i=0;i<1000;i++){ if(i%2==0) prime[i]=false;//排除偶数 else prime[i]=true; } for(int i=3;i<=Math.sqrt(1000);i+=2){ if(prime[i]){//如果他是素数,他的倍数全部排除 for(int j=i+i;j<1000;j+=i){ prime[j]=false; } } } for(int i=0;i<1000;i++){ if(prime[i]&&i>99&&i<1000&&i%10==3) System.out.println(i+" "); } } public static void main(String[] args) { Task t=new Task(); t.NO1(); System.out.println(t.NO2(20)); System.out.println(t.NO3(21.0)); System.out.println(t.NO4(10)); t.NO5(); t.NO6(); } }
以上是关于JAVA 练习 找出素数的主要内容,如果未能解决你的问题,请参考以下文章