求助大佬,总是TLE,不知道怎么弄

P2669 [NOIP2015 普及组] 金币

LKCoding @ 2020-03-29 13:45:17

#include <bits/stdc++.h>
using namespace std;
int main(){
    int sum=0,k,t=0,flag =1;
    cin>>k;
    for(int i=1;flag=1;i++){
        for(int j=1;j<=i;j++){
            sum+=i;
            t++;
        }
        if(t==k) flag=0;
    }
    cout<<sum;
    return 0;
}

by 吴勉之 @ 2020-03-29 13:46:28

@LKCoding for(int i=1;flag==1;i++)


by momentous @ 2020-03-29 13:56:30

flag=1可还行


by momentous @ 2020-03-29 13:57:02

flag=1就是先把flag赋值成1再返回flag(就是返回1


by Fa1thful @ 2020-06-21 12:20:56

可以用数学算,循环都不用


by Fa1thful @ 2020-06-21 12:21:19

等差数列求和公式和平方和公式连用


|