一、题目
二、解题
1.题目
实现了一个累加器,它读取一个整数序列,记录所有满足累加和达到或超过给定阈值 K 的连续子序列的个数。
首先,程序从标准输入读取了两个整数 n 和 k,分别表示整数序列的长度和给定的阈值 K。
接着,程序定义了四个整型变量 n、k、a、sum 和 ans。其中,n 用于记录当前还需要读取多少个整数;k 存放给定的阈值;a 用于读取当前整数;sum 记录当前序列所累加的和;ans 记录满足条件的连续子序列的个数。
程序通过一个 while 循环进行迭代,每次循环读取一个整数并将其累加到 sum 中,同时检查 sum 是否达到或超过了 K。如果达到了,就将 ans 加 1 并且将 sum 重置为 0,以开始查找下一个连续的子序列。如果读取完了所有的整数,但是最后一个子序列的和仍然没有达到 K,ans 还需要加 1。
最后,程序输出 ans,表示满足条件的连续子序列的个数。整个程序结束。
2.代码
dev c++ 5.11
#include<iostream>
using namespace std;
int main(){
int n,k,a,sum=0,ans=0;
cin>>n>>k;
while(n--){
cin>>a;
if((sum += a)>=k) ans++,sum=0;
}
if(sum>0) ans++;
cout<<ans;
return 0;
}
3.提交结果
总结
最后一个需要单独判断!!!