洛谷题解 P2669 【金币】

  • A+
所属分类:代码笔记 信息技术

吐槽:这么简单的题居然是noip里面的……

代码思路:纯模拟

以下是代码(解释都在代码里面):

  1. #include<iostream>  
  2. using namespace std;  
  3. int i,j,k,n,coin;  
  4. //i:那些天应发的金币个数。j:应发i个金币的天数。k:应发天数。n:实发天数。   
  5. int main()  
  6. {  
  7.     cin>>k;  
  8.     for(i=1;;i++)  
  9.     {  
  10.         j=0;  //记得清零。   
  11.         while(j<i)  //发完了i天就完成,继续发之后共i+1天的金币。   
  12.         {  
  13.             coin+=i;  //累加金币。   
  14.             j++;  //该发i个金币的天数又过了一天。   
  15.             n++;  //总天数又过了一天……   
  16.             if(n==k){  //如果 应发天数==实发天数 就完成了整个计算。   
  17.                 cout<<coin<<endl;  //输出金币总个数。   
  18.                 return 0;  //整个计算已完成且已输出,退出整个程序。   
  19.             }  
  20.         }  //内循环一次代表一天。    
  21.     }  //外循环完成一次代表发i个金币的日子结束。   
  22. }  
xcc

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: