package?main
import?"fmt"
func?main()??{
???var?factorial?int64?=?1
???var?number?int
???fmt.Print("請輸入一個整型:")
???fmt.Scanf("%d",?&number)
???for?i?:=?1;?i?<=?number;?i++?{
??????factorial?=?factorial?*?int64(i)
???}
???fmt.Printf("%d的階乘是%d\n",?number,?factorial)
}
2 回答

pardon110
TA貢獻1038條經(jīng)驗 獲得超227個贊
應該用遞歸,而非for循環(huán),代碼如下:
package?main import?"fmt" func?factorial(n?int)?int?{ ????if?n?==?1?{ ????????return?n???? ????}?else?{???????? ????????n?=?n?*?factorial(n-1)???? ????}???? ????return?n } func?main()?{???? ????var?number?int ????fmt.Print("請輸入一個整型:")??? ????fmt.Scanf("%d",?&number)???? ????fmt.Printf("%d的階乘是%d\n",?number,?factorial(number)) }

慕田峪4261139
TA貢獻1條經(jīng)驗 獲得超0個贊
#100的階乘 from?functools?import?reduce def?fo(x,?y): ????return?x?*?y print(reduce(fo,?range(1,?101)))
添加回答
舉報
0/150
提交
取消