问题标题: 酷町堂 1679

0
0

0
已采纳
栾峻岩
栾峻岩
初级天翼
初级天翼

n的阶乘是指从1一直乘到n,

例如:1!=1

           2!=1*2=2

3!=1*2*3=6

4!=1*2*3*4=24;

 

 

这道题先定义一个sum=1(unsigned long long int型),因为14!会大于int的范围,再大一点会大于long long int 的范围。

循环:从1乘到n

循环里:sum*=i;

最后输出sum就行了。

 

核心程序:

unsigned long long int sum=1;
    int n;
    cin>>n;
    for (int i=1;i<=n;i++)
    {
        sum*=i;
    }
    cout<<sum;

栾峻岩在2018-01-12 22:09:00追加了内容

关于 unsigned long long int 回家可以翻翻书看看。

1
马佳滢
马佳滢
新手天翼
新手天翼

王子翔 你好!

1、定义长整型(long long)变量b=1和整型变量a;

2、输入a(cin);

3、此段为核心;

 for(int i=1;i<=a;i++){
        b=b*i;
    } 

i的值从1开始一直循环到a的值:例如a=5,i就分别等于1、2、3、4、5,b运算的过程就是:

b=1*1;b=b(1*1)*2;b=b(1*1*2)*3;b=b(1*1*2*3)*4;b=b(1*1*2*3*4)*5;b的值为120(循环停止)

4、输出(cout)b;

马佳滢在2018-01-10 19:55:58追加了内容

你学过for循环吧?

就比如a=1,for循环后i的值就为1,b=b*i,a*i=(b的初始值就是1)1*(i的值为1)1,1*1=1,所以b的值就是1;

再比如a=2,for循环后i的值就为1、2,b=b*i,第一次b*i=(b的初始值就是1)*(i的值为1)1*1,1*1=1,所以b的值就是1,接下来还有第2次,b*i=(b的现在的值是1)*(i的值为2)1*2,1*2=2,所以b的值就是2;

a=3,for循环后i的值就为1、2、3,b=b*i,第一次b*i=(b的初始值就是1)*(i的值为1)1*1,1*1=1,所以b的值就是1,接下来还有第2次,b*i=(b的现在的值是1)*(i的值为2)1*2,1*2=2,所以b的值就是2,第3次b*i=(b的值2)*(i的值为3)2*3,2*3=6,所以b的值就是6;

…… ……

以此类推。

0
0
朱宗晔
朱宗晔
初级光能
初级光能

 核心部分

    b = 1;
    for(int i = 1;i <= a;i++){
        b *= i;
    }

b是unsigned long long型的

0
0
偶子睿
偶子睿
高级守护
高级守护

n的阶乘是:1*2*3……*n。

定义n,s=1;

从1到n循环,s=s*i;

输出s。

    for(int i=1;i<=n;i++)
    {
        s*=i;
    }

 

0
0
谈文瑞
谈文瑞
新手光能
新手光能

王子翔 你好!

1、定义长整型(long long)变量b=1和整型变量a;

2、输入a(cin);

3、此段为核心;

 

 

for(int i=1;i<=a;i++){

 

b=b*i;

 

}

i的值从1开始一直循环到a的值:例如a=5,i就分别等于1、2、3、4、5,b运算的过程就是:

b=1*1;b=b(1*1)*2;b=b(1*1*2)*3;b=b(1*1*2*3)*4;b=b(1*1*2*3*4)*5;b的值为120(循环停止)

4、输出(cout)b;

马佳滢在2018-01-10 19:55:58追加了内容

你学过for循环吧?

就比如a=1,for循环后i的值就为1,b=b*i,a*i=(b的初始值就是1)1*(i的值为1)1,1*1=1,所以b的值就是1;

再比如a=2,for循环后i的值就为1、2,b=b*i,第一次b*i=(b的初始值就是1)*(i的值为1)1*1,1*1=1,所以b的值就是1,接下来还有第2次,b*i=(b的现在的值是1)*(i的值为2)1*2,1*2=2,所以b的值就是2;

a=3,for循环后i的值就为1、2、3,b=b*i,第一次b*i=(b的初始值就是1)*(i的值为1)1*1,1*1=1,所以b的值就是1,接下来还有第2次,b*i=(b的现在的值是1)*(i的值为2)1*2,1*2=2,所以b的值就是2,第3次b*i=(b的值2)*(i的值为3)2*3,2*3=6,所以b的值就是6;

…… ……

以此类推。

0
欧阳语聪
欧阳语聪
资深守护
资深守护
for(int i=1;i<=a;i++){
        c*=b;
        b++;
            }
 
我要回答