xiansiyu 2021-11-27 14:01 采纳率: 100%
浏览 41
已结题

#C语言#关于求阶乘不超过给定数值的最大整数的问题

求阶乘不超过1000000的最大整数:


#include<stdio.h>
int main()
{
    int sum=1;
    int n=1;//求阶乘的数 
    int i= 1;
do{
    n++;//求阶乘的数
    while(i <n)
        
    {
        
        sum *= i;//阶乘 
        i++;
     
    }
    
  }
while(sum<=1000000);
  
  printf("n=%d",n-2);
return 0;
}

这个代码并不严谨,关键是下面还需要把最终值值减去2才是期望值,所以想请问最终值直接是期望值的代码

  • 写回答

2条回答 默认 最新

  • CSDN专家-link 2021-11-27 14:12
    关注
     
    #include<stdio.h>
    int main()
    {
        int sum=1;
        int n=1;//求阶乘的数 
        while(sum<=1000000)
        {
            n++;
            sum*=n;
         }
      printf("n=%d",n-1);
    return 0;
    }
    
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论 编辑记录
查看更多回答(1条)

报告相同问题?

问题事件

  • 系统已结题 12月5日
  • 已采纳回答 11月27日
  • 修改了问题 11月27日
  • 创建了问题 11月27日

悬赏问题

  • ¥15 多尺度特征图提取和融合
  • ¥15 微信小程序:渲染收货地址时页面不显示
  • ¥20 win7 64位DirectShow提示初始化失败如何解决?
  • ¥20 小规模孤立词识别系统设计
  • ¥15 关于Java对接海康威视车牌识别一体机SDK是否需要固定外网的IP?
  • ¥15 Linux扩容时,格式化卡住了:vgdispaly查看卷组信息,没有输出
  • ¥18 关于#ubuntu#的问题:使用背景-工作职责内有七八台ubuntu系统的电脑,平时需要互相调取资料,想实现把这几台电脑用交换机组成一个局域网,来实现指定文件夹的互相调取和写入
  • ¥20 求一个简易射频信号综测仪
  • ¥15 esp8266 tally灯 接收端改为发射端
  • ¥30 Labview代码调用access 数据库,相同代码其中一个调用不出来是为什么