思考過程:
input(輸入)
1!=1
2!=1x2
3!=1x2x3
…(以此類推)...
要讓他們跑1-20的階層→迴圈跑20次
程式碼:
for(long i=1;i<=20;i++){}
而裡面也要寫迴圈,因為要讓他們每一個數相乘(3!=3x2x1)
所以要跑一個迴圈是讓現在i這個數遞減,和答案相乘。
程式碼:
for(long j=i;j>=1;j — )
{
ans=ans*j;
}
output(輸出)
要輸出每次的答案
1!=answer;
for(long i=1;i<=20;i++)
{
for(long j=i;j>=1;j — )
{
ans=ans*j;
}
System.out.printf(“%d!=%d\n”,i,ans);//long要用%d表示
ans=1;//幫ans回到1,這樣才能重新計算
}
程式碼:
package ch5;
public class Test513 {
public static void main(String[] args) {
/*程式藝術設計5.13計算1到20的階乘。請使用long型態,並以表格顯示結果*/
long ans=1;//answer 任何階層都有一
for(long i=1;i<=20;i++)
{
for(long j=i;j>=1;j — )
{
ans=ans*j;
}
System.out.printf(“%d!=%d\n”,i,ans);//long要用%d表示
ans=1;//幫ans回到1,這樣才能重新計算
}
}
}
心得&結語:
基本題,用到兩個迴圈算是不太難,稍微要想一下而已。
如果這篇文章對你有一點幫助,或是有任何問題歡迎在底下留言,我是蹦蹦,一個喜歡思考、解決問題的Java新手。正在準備Java ocp的證照,歡迎一起交流程式 (๑˘ ₃˘๑)