相同的和
时间限制:
1000 ms | 内存限制:
65535 KB
难度:
1
-
描述
-
给出一些数a1,a2,a3,a4.....,an,如果一个连续的字串的和等于常数m,那么这个子串就是我们想要的,那么问题很简单,请求出这样字串的个数?
例如:数列为:3,4,1,6,2,5。m 的值为7时,连续字串{3,4},{1,6},{2,5}满足要求。
-
输入
-
每种情况,第一行2个数n,m,n表示有多少个数,m是常数
第二行是n个数的值 (所有的数小于1000)
输出
- 每种情况个数 样例输入
-
6 7 3 4 1 6 2 5 3 1 2 3 4
样例输出
-
3 0
解析:水题,默认不用考虑输入负数的情况
#include <iostream> using std::cout; using std::endl; using std::cin; int main() { int n,m; int data[1000]; while(cin >> n >> m) { int cnt=0; for(int i=0; i<n; ++i) { cin >> data[i]; } for(int i=0; i<n; ++i) { int temp = m; for(int j=i; j<n; ++j) { temp = temp - data[j]; if(temp > 0) { continue; }else if(temp == 0) { cnt++; break; }else{ break; } } } cout << cnt <<endl; } return 0; }
-
每种情况,第一行2个数n,m,n表示有多少个数,m是常数