题解 P2669 【金币】

1|0这道题题目并不难,简单模拟即可:

  1. 根据题意的“骑士会在之后的连续N+1天里,每天收到N+1枚金币”我们可以定义一个变量day_sum代表在连续的day_sum天收到的每天收到的金币。

  2. 定义一个day来记录天数,一旦day==n立即输出。

  3. 定义ans来累加金币数

下面给出ac代码:read等价于cin,是我自己写的快速读入,out等价于cout,同理。用兴趣的同学可以了解一下其实对新手用处不大

#include<cstdio> #include<cctype> int n,day,ans,day_sum=1; inline int read(int &x){ x=0;bool sign=false;char ch; while(!isdigit(ch)){sign|=(ch=='-');ch=getchar();} while(isdigit(ch)) {x=x*10+(ch^48);ch=getchar();} return sign?-x:x; } inline void out(int x){ if(x<0)putchar('-'),x=-x; if(x>9)out(x/10); putchar(x%10+'0'); } int main(){ read(n); while(1){//用来循环的,终止条件在for循环里 for(int i=1;i<=day_sum;i++){ ans+=day_sum;//根据1可得 day++;每次天数都要加上去 if(day==n){//如果天数已经到了就直接输出 out(ans); return 0;//直接结束程序,简单粗暴,无视多重循环~~ } } day_sum++;//每操作完一次就++ } return 0; }

__EOF__

本文作者Kdlyh
本文链接https://www.cnblogs.com/kdlyh/p/17777006.html
关于博主:评论和私信会在第一时间回复。或者直接私信我。
版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!
声援博主:如果您觉得文章对您有帮助,可以点击文章右下角推荐一下。您的鼓励是博主的最大动力!
posted @   加固文明幻景  阅读(8)  评论(0编辑  收藏  举报  
相关博文:
阅读排行:
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报
· Manus爆火,是硬核还是营销?
· 一文读懂知识蒸馏
· 终于写完轮子一部分:tcp代理 了,记录一下
点击右上角即可分享
微信分享提示