求助
  • 板块学术版
  • 楼主LIZONGMIN
  • 当前回复10
  • 已保存回复10
  • 发布时间2024/8/17 08:05
  • 上次更新2024/8/17 11:11:33
查看原帖
求助
1371817
LIZONGMIN楼主2024/8/17 08:05

有 n 个整数,这些数中的最小值为 x,最大值为 y,将 n 个数相加后得到一个总和,这些总和有多少种不同?

输入格式

在一行中输入三个整数 n,x,y(1≤n,x,y≤109)n,x,y(1≤n,x,y≤10 ^9),用空格隔开。

输出格式

在一行中输出答案。

样例组

输入#1
3 4 6
输出#1
3
输入#2
5 8 7
输出#2
0
输入#3
702209411 496813081 673102149
输出#3
123791842253440813

提示说明 其中样例一可以找到如下 3 个。

  • 4+4+6=14
  • 4+5+6=15
  • 4+6+6=16

我的代码:

#include <iostream>
using namespace std;

int main() {
    int n, x, y;
    cin >> n >> x >> y;
    int c = 0;
    for (int s = x; s <= y * n; s++) {
        bool v = true;
        for (int i = 1; i <= n && v; i++) {
            if (s - i * x < 0 || s - i * x > y) {
                v = false;
            }
        }
        if (v) {
            c++;
        }
    }
    cout << c << endl;
    return 0;
}

2024/8/17 08:05
加载中...