问题标题: 酷町堂:瑶海区2012年信息学竞赛试题 2728 70分 历代BOSS

0
0

0
已采纳
赵逸凡
赵逸凡
初级启示者
初级启示者
次数 1 2 3 4 5 ...N-4+1=N-3
i的值4 5 6 7 8 ...N
解:设当n=10时
次数 1 2 3 4 5 6 7
i的值4 5 6 7 8 9 10
那么循环写成
for(int i=4;i<=n-3;i++)
当然i从5开始也可以,但n要改值
前面加特判
if(n<=4)
{
    cout<<0;
    return 0;
}
其实上述方法应该没啥用
后来我们发现,我们可以优化算法
比如N=11
while(N>4)
{
    if(!N%5)//这里!N%5与N%5==0是等价的,作者太懒了
    {//if语句判断N是否是5的倍数,这有妙用
      break;
    }
}
int sum=0;
for(int i=5;i<=N;i+=5)
{
//这时候统计有几个i就可以了
sum++;
}

自己理解一下。

赵逸凡在2019-08-23 11:31:56追加了内容

还少了个n--(while循环里面)

0
管景仁
管景仁
修练者
修练者
   long long a=1,b=1;
   cin>>a>>b;
   cout<<a+b;

我要回答