求解= =日常的不知道逻辑错哪

P2669 [NOIP2015 普及组] 金币

Slash @ 2018-09-24 21:43:54

include <cstdio>

using namespace std; int main() { int K=0,coin=0,g=0; scanf("%d",&K); for(int n=1,t=1;n<=K;n+=n++,t++) { coin+=tt; if(n+=n++>K) { g=K-n; coin+=g(t++); } } printf("%d",coin); return 0; }


by ___I_AK_IOI @ 2018-09-24 21:45:08

不知道你会不会Markdown


by Slash @ 2018-09-24 21:46:51

不会 = = (如果能解释一下,如果我能理解的话= =也行的)


by haohaoh4 @ 2018-09-24 21:49:11

#include <cstdio>

using namespace std;
int main() {
    int K=0,coin=0,g=0;
    scanf("%d",&K);
    for(int n=1,t=1; n<=K; n+=n++,t++) {
        coin+=tt;
        if(n+=n++>K) {
            g=K-n;
            coin+=g(t++);
        }
    }
    printf("%d",coin);
    return 0;
}

by haohaoh4 @ 2018-09-24 21:50:00

dev-c++自带的格式化,你值得拥有。还有Markdown了解一下


by 冬瓜皮 @ 2018-09-24 21:50:49

希望更丰富的展现?使用Markdown

附上我的AC代码:

#include<iostream>
using namespace std;
typedef unsigned long long ull;
ull a;
int k;
int main(){
    cin>>k;
    int i=1;
    while(k!=0){
        if(i>k){
            a+=k*i;
            break;
        }
        else{
            a+=i*i;
            k-=i;
            i++;
        }
    }
    cout<<a;
    return 0;
} 

by 冬瓜皮 @ 2018-09-24 21:52:53

@冬瓜皮 typedef只是为了证明自己会这个骚东西了


by 森岛_帆高 @ 2018-09-24 21:58:44

@冬瓜皮 明明用define也可以

#define ull unsigned long long

by Slash @ 2018-09-24 22:04:28

@handahao = =谢谢 了解一下 恩我想可能是因为如果是刚好的时候会再重复一次的原因可还是不行):

include <cstdio>

using namespace std;

int main()

{

int K,coin=0,g=0,n=1,t=1;
scanf("%d",&K);
for(;n<K;n+=n++,t++)
    {
    coin+=t*t;
    }

    if(n>=K)
    {
    g=n-K;
    coin-=g*(t++);
    }
printf("%d",coin);
return 0;
}

by 冬瓜皮 @ 2018-09-24 22:19:51

@lhaoyuan_renjie %%%%%%%%%%


by 森岛_帆高 @ 2018-09-24 22:21:48

@冬瓜皮 %%%%%%%%%%%%%%%%%%


|