Java小题试炼
Java小題試煉
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循環實現
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;}}} }總結
- 上一篇: luliyu-python-day02
- 下一篇: java美元兑换,(Java实现) 美元