對於給定的正整數N,需要你計算 S=1!+2!+3!+...+N!。
輸入格式:
輸入在一行中給出一個不超過10的正整數N。
輸出格式:
在一行中輸出S的值。
輸入樣例:
3
輸出樣例:
9
作者: 陳越
單位: 浙江大學
時間限制: 400 ms
內存限制: 64 MB
代碼長度限制: 16 KB
1 import java.io.BufferedReader; 2 import java.io.IOException; 3 import java.io.InputStreamReader; 4 public class Main { 5 public static void main(String[] args) throws IOException { 6 BufferedReader input=new BufferedReader(new InputStreamReader(System.in)); 7 String n=input.readLine(); 8 int rn=Integer.parseInt(n); 9 int sum=0,a=1,k=1; 10 while(a<=rn){ 11 sum+=k; 12 a++; 13 k=a*k;//一開始寫的k*(k+1)是不對的,而且當時a++在這一行的后面。a和k是有關系的,但是兩者的作用不一樣。 14 } 15 System.out.print(sum); 16 } 17 }
重點是while內部。到底最少幾個變量比較合適,變量與變量之間的邏輯關系要理清。