1 条题解

  • 0
    @ 2026-1-31 11:50:59
    #include<bits/stdc++.h>
    using namespace std;
    
    // 数组arr:存储题目中数列的每一项(大小足够覆盖所需项数)
    int arr[100100]={};
    
    int main(){
        // [1] 数列第1项为1,存入数组第1位
        arr[1]=1;
        // [2] 初始化累加和sum,初始值为数列第1项的值
        int sum=arr[1];
    
        // [3] 从第2项开始生成数列,循环直到sum≥5000
        for(int i=2;;i++){
        	// 数列规律:第i项 = 第i-1项 + (i-1)(相邻项的差值依次为1、2、3...)
        	arr[i]=arr[i-1]+i-1;
        	// 将当前项的值加入累加和sum
        	sum+=arr[i];
        	// 当累加和sum刚好达到或超过5000时,终止循环
        	if(sum>=5000){
        		break;
    		}
    	}
    
    	// [4] 输出满足条件的累加和S
    	cout<<sum;
        return 0;
    }
    
    • 1

    信息

    ID
    817
    时间
    1000ms
    内存
    256MiB
    难度
    1
    标签
    递交数
    1
    已通过
    1
    上传者