给定n个整数,这n个数的总和记为sum。求这n个数中,有几个数能整除sum。使用c++语言
```cpp #include <iostream> #include <vector> using namespace std; int main() { int n; cin >> n; vector<int> nums(n); long long sum = 0; for (int i = 0; i < n; i++) { cin >> nums[i]; sum += nums[i]; } int count = 0; for (int i = 0; i < n; i++) { if (sum % nums[i] == 0) { count++; } } cout << count << endl; return 0; } ``` 代码读取整数n,存储n个整数到数组,计算总和sum。遍历数组检查每个数是否能整除sum,统计满足条件的个数并输出结果。 [2025-11-23 14:18:34 | AI问答 | 167点数解答]
相关提问
- [字节豆包] 题目描述 假设现在是 y 年 m 月 d 日 h 时而 k 小时后是 y′ 年 m′ 月 d′ 日 h′ 时,对于给定的 y,m,d,h,k,小杨想请你帮他计算出对应的 y′,m′,d′,h′ 是多少。 输入格式 输入包含五行,每行一个正整数,分别代表 y,m,d,h,k。 输出格式 输出四个正整数,代表 y ′,m ′,d ′,h ′。 输入样例1 2008 2 28 23 1 输出样例1 2008 2 29 0 说明/提示 对于全部数据,保证有 2000≤y≤3000,1≤m≤12,1≤d≤31,0≤h≤23,1≤k≤24。数据保证为合法时间。 闰年判断规则 普通闰年:年份能被 4 整除,但不能被 100 整除。 世纪闰年:年份能被 400 整除。 满足以上任意一条规则的年份就是闰年,否则是平年。 用c++ 回答篇幅:简单明了(323点数解答 | 2025-10-29 20:27:44)37
- [字节豆包] #include <iostream> using namespace std; int main() { int n, m; cin >> n >> m; int a[3005]; // 输入每个事件的刺痛值 for (int i = 0; i < n; i++) { cin >> a[i]; } // 计算前m个刺痛值的和作为初始最小值 int sum = 0; for (int i = 0; i < m; i++) { sum += a[i]; } int minSum = sum; // 遍历后续的连续m个刺痛值 for (int i = m; i < n; i++) { // 计算新的连续m个刺痛值的和 sum = sum - a[i - m] + a[i]; // 更新最小值 if (sum < minSum) { minSum = sum; (805点数解答 | 2025-11-24 19:54:06)21
- [字节豆包] #include <iostream> using namespace std; int main() { int n; cin >> n; if (n % 2 == 1) { int sum = 0; for (int i = 2; i < n; i += 2) { sum += i; } cout << sum << endl; } else { int sum = 0; for (int i = 1; i <= n; i++) { if (n % i == 0) { sum += i; } } cout << sum << endl; } return 0; }(688点数解答 | 2025-11-26 18:57:01)15
- [字节豆包] 用c语言编程求sum = 1 + 1/2 + 1/3 + 1/4 + ... + 1/n的值,输出结果小数点后保留6位有效数字。(1<=n<=100) 输入格式: "%d" 输入格式: "sum=%.6f" 0 题目列表 c 8910111213141516176734512 scanf("%d", &n);for (int i = 1; i <= n; i++) {sum += 1.0 / i;}printf("sum=%.6f\n", sum);return 0;}printf("请输入 n 的值(1 <= n <= 100):");int main() {int n;double sum = 0;#include <stdio.h>(120点数解答 | 2024-10-16 14:35:50)180
- [字节豆包] 题目描述 有 𝑛 n 个数 𝑎 𝑖 a i ,你可以进行若干次修改操作,每一次操作任意修改一个数的值为 𝑥 ( − 1 0 4 ≤ 𝑥 ≤ 1 0 4 ) x(−10 4 ≤x≤10 4 )。 问最少多少次操作使得这 𝑛 n 个数的和为 𝑠 𝑢 𝑚 sum。 输入描述: 第一行输入一个整数 𝑇 ( 1 ≤ 𝑇 ≤ 1 0 4 ) t(1≤t≤10 4 ),表示测试数据组数。接下来是 𝑇 t 个测试用例。 每个测试用例第一行包含两个整数 𝑛 , 𝑠 𝑢 �� ( 1 ≤ 𝑛 ≤ 2 × 1 0 5 , − 𝑛 × 1 0 4 ≤ 𝑠 𝑢 𝑚 ≤ 𝑛 × 1 0 4 ) n,sum(1≤n≤2×10 5 ,−n×10 4 ≤sum≤n×10 4 )。 每个测试用例第二行包含 𝑛 n 个整数 𝑎 𝑖 ( − 1 0 4 ≤ 𝑎 𝑖 ≤ 1 0 4 ) a i (−10 4 ≤a i ≤10 4 )。 保证所有测试用例 𝑛 n 的和不超过 2 × 1(137点数解答 | 2024-10-11 19:29:21)265
- [阿里通义] #include <stdio.h> int main() { float a,b,c,d,sum,average; scanf("%f,%f,%f,%f".&a,%b,&c,&d); sum=a+b+c+d; average=(a+b+c+d)/4.0; printf("sum=%.f average=%.2f",sum,average); return 0; } 我的代码错在哪里(374点数解答 | 2024-10-19 11:46:57)234
- [字节豆包] #include<stdio.h> int main() { float a,b,c,d,sum,average; scanf("%f %f %f %f",&a &b &c,&d); sum=a+b+c+d; average=(a+b+c+d)/4; printf("sum = %f,average = %f",sum,average); return 0; }(178点数解答 | 2024-11-05 08:37:59)193
- [字节豆包] #include<stdio.h> int main() { float a,b,c,d,sum,average; scanf("%f %f %f %f",&a &b &c &d); sum=a+b+c+d; average=(a+b+c+d)/4; printf("sum = %f,average = %f",sum,average); return 0; }(153点数解答 | 2024-11-05 08:39:20)192
- [字节豆包] #include<stdio.h> int main() { float a,b,c,d,sum,average; scanf("%f %f %f %f",&a,&b,&c,&d); sum=a+b+c+d; average=(a+b+c+d)/4; printf("sum = %f,average = %f",sum,average); return 0; }(167点数解答 | 2024-11-05 08:44:44)177
- [字节豆包] #include<stdio.h> int main() { int a,b,c,d; float sum,average; scanf("%d %d %d %d",&a,&b,&c,&d); sum=a+b+c+d; average=(a+b+c+d)/4.0; printf("sum = %.1f,average = %.1f",sum,average); return 0; }(190点数解答 | 2024-11-05 08:44:53)278
- [字节豆包] #include<stdio.h> int main() { int a,b,c,d,sum; float average; scanf("%d %d %d %d",&a,&b,&c,&d); sum=a+b+c+d; if (a<0 || b<0 || c<0 || d<0) { average = 0; } else { average=(a+b+c+d)/4.0; } printf("sum = %d;average = %.1f",sum,average); return 0; }(225点数解答 | 2024-11-05 09:04:15)249
- [字节豆包] 本题要求编写程序,计算交错序列 1-2/3+3/5-4/7+5/9-6/11+... 的前n项之和。 输入格式: 输入在一行中给出一个正整数n。 输出格式: 在一行中输出部分和的值,结果保留三位小数。 #include<stdio.h> int main() { int n,i,flag=1; double sum=0,t=0; scanf("%d",&n); for(i=1;i<=n;i++){ t=flag*1.00*i*1.0/(2i-1); sum=sum+t; flag=-flag; } printf("%.3lf",sum); return 0; } 这段代码错哪了(206点数解答 | 2024-11-13 20:17:31)147