社区讨论

求助

学术版参与者 3已保存回复 10

讨论操作

快速查看讨论及其快照的属性,并进行相关操作。

当前回复
10 条
当前快照
1 份
快照标识符
@lzxdpcn4
此快照首次捕获于
2024/08/17 08:07
2 年前
此快照最后确认于
2024/08/17 11:11
2 年前
查看原帖
有 n 个整数,这些数中的最小值为 x,最大值为 y,将 n 个数相加后得到一个总和,这些总和有多少种不同?
输入格式
在一行中输入三个整数 n,x,y(1n,x,y109)n,x,y(1≤n,x,y≤10 ^9),用空格隔开。
输出格式
在一行中输出答案。
样例组
CPP
输入#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
我的代码:
CPP
#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;
}

回复

10 条回复,欢迎继续交流。

正在加载回复...