import?java.util.Random;
public?class?Increase?{
public?static?boolean?isPrime(int?a)?{
boolean?flag?=?true;
if?(a?<?2)?{//?素數不小於2
return?false;
}?else?{
for?(int?i?=?2;?i?<=?Math.sqrt(a);?i++)?{
if?(a?%?i?==?0)?{//?若能被整除,則說明不是素數,返回false
flag?=?false;
break;//?跳出循環
}
}
}
return?flag;
}
public?static?void?test1()?{
?int?i,n,k=0;
?System.out.println("1-1000內素數");
?for?(n?=?3;?n<=1000;?n++)?{?//3~1000的所有數
?i=2;
?while?(i<n)?{
?if?(n%i==0)?break;?//若能整除說明n不是素數,跳出當前循環
?i++;
?}
?
?if?(i==n)?{?//如果i==n則說明n不能被2~n-1整除,是素數
?k++;?//統計輸出數的個數
?System.out.print(i+?"\t?");
?if?(k?%6==0)//每輸出5個則換行
?System.out.println();
?}
?}
}
public?static?void?test2()
{
?Random?r?=?new?Random();
?System.out.println(r.nextInt(301)-100);
}
public?static?int?test3(int?m,int?n){
//輾轉相除法
int?r;
do{
if(m<n)
{
r?=?m;
m?=?n;
n?=?r;
}
r?=?m%n;
m?=?n;
n?=?r;
}while(r!=0);
return?m;
}
public?static?double?test4(int?n){
double?e=1f;
double?total=1.0;
for(int?i?=?0;?i?<?n;?i++)
{
total?/=?i+1;
e+=total;
}
BigDecimal?b?=?new?BigDecimal(e);?
e?=?b.setScale(4,?BigDecimal.ROUND_HALF_UP).doubleValue();?//?表明四舍五入,保留四位小數?
return?e;
}
public?static?void?main(String[]?args)?{
//第壹題測試
System.out.println(isPrime(131));
test1();
//第二題測試
test2();
//第三題測試
System.out.println("最大公約數為:"+test3(1302,19924));
//第四題測試
System.out.println("e="+test4(100));
}
}
運行結果:
true
1-1000內素數
3 5 7 11 13 17 ?
19 23 29 31 37 41 ?
43 47 53 59 61 67 ?
71 73 79 83 89 97 ?
101 103 107 109 113 127 ?
131 137 139 149 151 157 ?
163 167 173 179 181 191 ?
193 197 199 211 223 227 ?
229 233 239 241 251 257 ?
263 269 271 277 281 283 ?
293 307 311 313 317 331 ?
337 347 349 353 359 367 ?
373 379 383 389 397 401 ?
409 419 421 431 433 439 ?
443 449 457 461 463 467 ?
479 487 491 499 503 509 ?
521 523 541 547 557 563 ?
569 571 577 587 593 599 ?
601 607 613 617 619 631 ?
641 643 647 653 659 661 ?
673 677 683 691 701 709 ?
719 727 733 739 743 751 ?
757 761 769 773 787 797 ?
809 811 821 823 827 829 ?
839 853 857 859 863 877 ?
881 883 887 907 911 919 ?
929 937 941 947 953 967 ?
971 977 983 991 997 106
最大公約數為:2
e=2.7183