C语言实现跳过指定倍数求和,总和小于临界值

问题描述

给定三个整数,分别代表开始求和的数、跳过条件中的指定数以及总和的临界值。需要按要求统计从开始求和的数开始,跳过指定数的整数倍的数进行求和,且总和必须小于临界值。

例如输入'1 2 20',表示从1开始求和,要求跳过2的倍数,且总和必须小于20,因此相当于求1+3+5+7=16。

输入格式

%d %d %d,分别对应开始求和的数、特定指定数、总和临界值。

输出格式

%d,对应上述求和的结果

示例

  • 输入'1 2 20',输出'16'
  • 输入'10 3 100',输出'81'
  • 输入'100 7 3000',输出'2973'
  • 输入'200 10 10000',输出'9876'
  • 输入'500 4 1000000',输出'998517'

代码实现

#include <stdio.h>

int main() {
    int start, skip, limit, sum = 0;
    scanf('%d %d %d', &start, &skip, &limit);

    for (int i = start; sum < limit; i++) {
        if (i % skip == 0) {
            continue;
        }
        sum += i;
    }

    printf('%d
', sum);
    return 0;
}

代码解释

  1. 首先,定义整型变量'start','skip','limit'分别表示开始求和的数、跳过的指定数和总和的临界值,并初始化'sum'为0。
  2. 通过'scanf'函数从输入中读取'start','skip','limit'的值。
  3. 使用'for'循环,初始化'i'为'start',循环条件为'sum'小于'limit',每次循环结束'i'自增1。
  4. 在循环体内,使用'if'条件判断'i'对'skip'取余是否等于0,如果等于0,则使用'continue'语句跳过本次循环。
  5. 否则,将'i'累加到'sum'上。
  6. 当'sum'大于等于'limit'时,跳出循环。
  7. 使用'printf'函数输出'sum'的值。
  8. 程序结束。
C语言实现跳过指定倍数求和,总和小于临界值

原文地址: https://www.cveoy.top/t/topic/Ju1 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录