做题第一步就是分析题目,找到解题思路从而说里完成。但是说起来简单,做起来难。举个例子,如下图:
题意大致是,第一天一个金币,后两天每天两个金币……后n天没填n个金币,输出金币的总个数。我出做这题时,一直想如何让金币随之天数增加而按规律增加。可当天数增加1时,金币不一定增加(也就是说两者不是同步增加)。后来我知道了方法。如下
#include <iostream>
using namespace std;
int main()
{
int day;
int date=1,sum=0;
int i,j=1;
cin>>day;
for(i=1; i<=day; i++)
{
sum+=date;//累加金币数
if(i==j)//目前天数
{
date++;
j+=date;
}
}
cout<<sum<<endl;
return 0;
}
此题中的元素有day具体天数,date增加金币数,sum金币总数。
i相当于当前天数,j相当于要变化金币的天数。每当i=j时,金币数加一。
总结:1.当变化不规律时,可以在for循环中按 题目要求设置。
2.要找出题中全部元素,并仔细分析期中得关系。
本人新萌,此文为给自己增强记忆。
才学疏浅,望大佬勿笑。