第八第九wa了 c++求助

P2669 [NOIP2015 普及组] 金币

NoneVector @ 2022-04-08 18:40:30

#include<bits/stdc++.h>
using namespace std;

int main()
{
    int arr[10000],n=1;
    for(int i=1;i<10000;i++)
    {

        for(int j=1;j<=i;j++)
        {
            arr[n]=i;
            n=n+1;
        }
    }
    int k,s=0;
    cin>>k;
    for(int i=1;i<=k;i++)
    {
        s=arr[i]+s;
    }
    cout<<s;
    return 0;
}

by lnmingyue @ 2022-04-08 18:59:28

预处理的时候数组越界了 就会有奇奇怪怪的问题


by TBClikeZT @ 2022-04-08 19:30:09

您自己看吧,我也不会解释,qaq

#include<bits/stdc++.h> 
using namespace std;
int main(){
    int a,b=0,c=1,s=0;
    cin>>a;
    for(int i=1; i<=a; i++)
    {
        b++;
        s+=c;
        if(b==c)
        {
            c++;
            b=0;
        }
    } 
    cout<<s;
    return 0;
}

by MT_Shang @ 2022-04-09 17:21:07

t既是一组的拿钱天数也是每天钱数 剩下麻烦自行理解

#include<bits/stdc++.h>
using namespace std;
int main(){
    long long k,s=0,t=1; 
    scanf("%ld",&k);
    while(k>=t){
        s=s+t*t;
        k=k-t;
        t++;
    }
    s=s+k*t;
    printf("%ld",s);
    return 0;
}

by NoneVector @ 2022-04-10 09:22:39

@lnmingyue 谢谢知道问题所在了


by NoneVector @ 2022-04-10 09:23:26

@TBC_LJ 看懂了,谢谢帮助


by NoneVector @ 2022-04-10 09:24:20

@MT_Shang 谢谢 学会了


by BBD_XBC @ 2022-04-14 18:33:23

萌新题解

#include<iostream>
using namespace std;
int main()
{
    int k,i,js=0;
    cin>>k; 
    for(i=1;;i++)
    {
        js=js+i*i;
        if((1+i)*i/2>=k)
        {   
            js=js-i*i+(k-i*(i-1)/2)*i;
            break;
        }
    }
    cout<<js;
    return 0;
}

自己看看吧。 虽然可能没有上面各位大佬思路好! 照顾一下新手


|