1.求1!+···+10!
public class Review { public static void main(String args[]){ int sum=0;//求和 int factorrial;//阶乘 for (int j = 1; j<= 10; j++) { factorrial=1; for(int k=1;k<=j;k++){ factorrial = factorrial * k; } sum = sum + factorrial; } System.out.println(sum); } }
2.求一百以内的所有素数
import static java.lang.Math.sqrt; public class Review { public static void main(String args[]){ boolean flag=true; for(int i=2;i<=100;i++){ for(int j=2;j<=sqrt(i);j++){//非素数有三个因子以上 flag=true; if(i%j==0){ flag=false; break; } } if(flag==true)System.out.print(i+" "); } } }
3.求1+1/2!+1/3!+1/4!+···的前20项的和。
for循环实现
public class Review { public static void main(String args[]){ double sum=0;//求和 double factorrial;//阶乘 for (int j = 1; j<= 20; j++) { factorrial=1; for(int k=1;k<=j;k++){ factorrial = factorrial * k; } sum = sum + 1/factorrial; } System.out.println(sum); } }
do-while实现
public class Review { public static void main(String args[]){ double sum=0;//求和 double factorrial;//阶乘 int j=1; do{ factorrial=1; int k=1; do{ factorrial = factorrial * k; k++; }while(k<=j); sum = sum + 1/factorrial; j++; }while(j<=3); System.out.println(sum); } }
4.求1000以内的所有完数(本身等于因子之和)
public class Review { public static void main(String args[]){ for(int i=1;i<=1000;i++){ int sum=0;//因子之和,因子是小于本身的 for(int j=1;j<=i/2+1;j++) { if (i % j == 0) sum = sum + j; } if(sum==i)System.out.println(i); } } }
5.求8+88+888+···前10项的和。
public class Review { public static void main(String args[]){ double sum=0; double temp=0.1; for(int i=1;i<=2;i++){ double flag=0; for(int j=1;j<=i;j++){ temp=0.1; for(int k=0;k<j;k++){ temp=temp*10;//个位,十位,百位 } flag=flag+8*temp;//所有位数相加 } sum=sum+flag; } System.out.println(sum); } }
6.求1+2+3+···+n<8888的最大正整数n。
public class Review { public static void main(String args[]){ int sum=0; for(int i=1;true;i++) { sum=sum+i; if((sum+(i+1))>=15) { System.out.println(i); break; } } } }