C语言程序设计-查找n!且n!的和大于200

题目:

找出最小n!的正整数1+2+3+…+n,使得从n!的所有整数之和大于等于200。

实现思路:

  1. 初始化变量i为1,表示当前正在检查的整数,变量j为1,用于内层循环的计数,变量sum为0,用于累加从1到i的所有整数之和。
  2. 使用外层for循环,从1开始逐步增加i的值,直到i达到200(不包括200)。
  3. 在每次外层循环中,初始化sum为0,然后使用内层for循环,从1到i逐步累加整数到sum中。
  4. 检查sum是否大于等于200。如果是,则打印出当前的isum的值,并退出程序。
  5. 如果sum小于200,则继续外层循环,增加i的值,重复上述步骤。

代码:

#include <stdio.h>    
  
int main() {    
    int i, j, sum = 0; // 初始化变量i, j, sum  
  
    for (i = 1; i < 200; i++, sum = 0) { // 外层循环,i从1开始,直到小于200  
        for (j = 1; j <= i; j++) { // 内层循环,j从1开始,直到等于i  
            sum += j; // 累加j到sum中  
        }  
        if (sum >= 200) { // 检查sum是否大于等于200  
            printf("Num:%d Sum:%d\n", i, sum); // 如果是,打印i和sum的值  
            return 0; // 并退出程序  
        }  
    }  
  
    return 0; // 如果循环结束仍未找到满足条件的i,则正常退出程序(但实际上这种情况不会发生)  
}

解读:

  1. #include <stdio.h>:引入标准输入输出库,以便使用printf函数。
  2. int main() { ... }:程序的主函数。
  3. int i, j, sum = 0;:声明三个整型变量ijsum,并初始化sum为0。
  4. for (i = 1; i < 200; i++, sum = 0) { ... }:外层循环,i从1开始,每次循环后增加1,直到i小于200。循环开始前,sum被重置为0。
  5. for (j = 1; j <= i; j++) { ... }:内层循环,j从1开始,每次循环后增加1,直到j等于i
  6. sum += j;:在内层循环中,将j的值累加到sum中。
  7. if (sum >= 200) { ... }:检查sum是否大于等于200。
  8. printf("Num:%d Sum:%d\n", i, sum);:如果sum大于等于200,则打印出当前的isum的值。
  9. return 0;:在找到满足条件的i后,退出程序。
  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值