Scanner scan = new Scanner(System.in); int num=scan.nextInt(); int i=1; for(i=2;i<num;i++) { //方法2:i<=num/2 //方法3:i<=Math.sqrt(num); if(num%i==0) { System.out.println(num+"不是素数"); break; } } if(i>=num){ System.out.println(num+"是素数"); }
打印100以内的所有素数
1 2 3 4 5 6 7 8 9 10 11 12
int j=0; for(j=2;j<=100;j++) { int i=1; for(i=2;i<j;i++){ if(j%i==0){ break; } } if(i==j){ System.out.println(j+"是素数"); } }
输出1000-2000之间的所有闰年
1 2 3 4 5
int year=1000; for(year=1000;year<=2000;year++) { if(year%4==0&&year%100!=0||year%400==0) { System.out.println(year+"是闰年"); }
输出乘法口诀表
1 2 3 4 5 6 7 8
int i=1; int j=1; for(i=1;i<=9;i++) { //i--行数 for(j=1;j<=i;j++){ //j--列数 列数的多少取决于第一行 第一行有一列,第二行有两列,…… System.out.print(j+"*"+i+"="+i*j+""); } System.out.println(); }
求两个数的最大公约数
1 2 3 4 5 6 7 8 9 10 11
Scanner scan = new Scanner(System.in); int a=scan.nextInt(); int b=scan.nextInt(); int c=b; while(a%b!=0) { c=a%b; a=b; b=c; } System.out.println(a+"和"+b+"的最大公约数是"+c); }
计算1/1-1/2+1/3……+1/99-1/100的值
1 2 3 4 5 6 7 8
int flag=1; int j=1; double sum=0; for(j=1;j<=100;j++) { sum += 1.0/j*flag; flag=-flag; } System.out.println(sum);
编写程序数一下1到100的所有整数中出现多少个数字9
1 2 3 4 5 6 7 8
int i=1; int count=0; for(i=1;i<=100;i++){ if(i%10==9||i/10==9) { count++; } } System.out.println(count);
求出0~999之间的所有”水仙花”
1 2 3 4 5 6
int i=100; for(i=100;i<1000;i++) { if(Math.pow(i%10,3)+Math.pow(i/10%10,3)+Math.pow(i/100%10,3)==i) { System.out.println(i); } }
int i=1; for(i=1;i<=9999999;i++) { int count=0; int temp=i; int sum=0; //p while (temp!=0) { count++; temp=temp/10; } temp=i; while(temp!=0){ sum += Math.pow(temp%10,count); temp=temp/10; } if(sum==i){ System.out.println(sum); } }
Scanner scan = new Scanner(System.in); int num=scan.nextInt(); int count=0; int i=0; for(i=0;i<32;i++) { if(((num>>i)&1)==1){ count++; } } System.out.println(num+"二进制中1的个数为:"+count);
改进:
1 2 3 4 5 6 7 8
Scanner scan =new Scanner(System.in); int n = scan.nextInt(); int count=0; while(n!=0){ n=n&(n-1); count++; } System.out.println(count);