搜索
查看: 241|回复: 8
打印 上一主题 下一主题

用这个求阶乘对吗

[复制链接]
跳转到指定楼层
楼主
 楼主| 发表于 2019-8-16 20:57:23 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
5啊哈币
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. int main()
  4. {
  5.     int a,b;
  6.     scanf("%d",&b);
  7.     a=1;
  8.     while(a<=b)
  9.     {
  10.         a=a*b;
  11.         b=b-1;
  12.     }
  13.     printf("%d",a);
  14.     return 0;
  15. }
复制代码

沙发
发表于 2019-8-23 11:30:27 | 只看该作者
#include <iostream>
#include <cstdio>
#include <algorithm>
int jc(int x)
{
    if (x==1)
        return 1;
    return x*jc(x-1);
}
using namespace std;
int main()
{
    int x;
    scanf("%d",&x);
    printf("%d",jc(x));
    return 0;
}

点评

就是这个吧?直接抄不太好哦zhidao.baidu.com/question/554654030049800452.html  发表于 2019-8-29 13:26
请你不要直接搬百度贴吧里的内容,涉嫌侵犯版权  发表于 2019-8-29 13:25
板凳
发表于 2019-8-23 12:14:18 | 只看该作者
要像这样才可以算阶乘
地板
 楼主| 发表于 2019-8-28 19:10:05 | 只看该作者
1_student_1244 发表于 2019-8-23 12:14
要像这样才可以算阶乘
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. int main()
  4. {
  5.    
  6.     return 0;
  7. }
复制代码
5#
 楼主| 发表于 2019-8-28 19:10:51 | 只看该作者
还是先谢谢你但是我这个是C不是C++
6#
发表于 2019-8-29 13:34:10 | 只看该作者
int i.j;
long long sum=1;//阶乘结果可能很大,在不用高精度时首选long long类型 必须要初始化为1
scanf("%d",i);
for(j=i;j>1;j--)
{
    sum=sum*j;//我不知道C里面可不可以写sum*=j;如果可以你就用后者吧
}
printf("%lld",a);

哎,每小时我发帖有限制,为了发这个贴我苦等了多久啊


7#
发表于 2019-9-24 09:20:01 | 只看该作者
int a,b,c;
    scanf("%d",&c);
    a=1;
    b=1;
    while(b<=c)
    {
        a=a*b;
        b=b+1;
    }
    printf("%d",a);
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

广播台
特别关注
快速回复 返回顶部 返回列表