Problem1009--[视频]循环结构(for)2

1009: [视频]循环结构(for)2

Time Limit: 1 Sec  Memory Limit: 128 MB
Submit: 149  Solved: 50
[Status] [Submit] [Creator:]

Description

学习目标:90秒内 一气呵成 打完代码,并且运行正确,并且提交正确。

【题意】

  输入一个整数n(n<=20),计算 s =  n!,  n!表示n的阶乘。n!=1*2*3*4*…*n  ,其中n由键盘输入。输出s的值。

【输入格式】

  一行一个整数n。

【输出格式】

  一行一个整数n的阶乘。

【样例输入】

  4

【样例输出】

  24


【注意】

  1、int的范围是 -21亿 到 +21亿,

n 5 6 7 8 9 10 11 12 13 14 15 16 17 18
s 120 720 5040 40320 362880
3628800
39916800
479001600
6227020800
87178291200
…… …… …… ……

  可以发现,当n=13开始,s就无法表示了

  2、所以寻找比int还要大范围的类型,就是 long long ,范围是:-18446744073709551615 到 +18446744073709551615(20个位,也就是19个位的数long long都能表示)

  3、怎么使用long long ? 请看以下代码就全明白

#include<cstdio>
using namespace std;
 
int main()
{
    long long a,b,s;
    scanf("%lld %lld",&a,&b);
    s=a+b;
    printf("%lld\n",s);
    return 0;
}

【样例输入

  4

【样例输出

  24

Input

 

Output


Source/Category