问题标题: 酷町堂:9397

1
0
已解决
闫骏祺
闫骏祺
新手守护
新手守护

#include<bits/stdc++.h>

using namespace std;

int main(){

long long cnt=0,N;

cin>>N;

    for(long long i=1;i<=N;i++){

if(i%10==5||i%10==0){

cnt++;

}

    }

cout<<cnt;

    return 0;

}


0
已采纳
许晏恺
许晏恺
资深守护
资深守护

同学你好,这道题你的思路没错,但是可以优化

首先,这样的循环次数很多,循环条件可以优化成+=5(每次都是五的倍数)

里面可以不用判断,直接cnt++(判断多余)

 

 

这还没完

通过推算

10以内5的倍数有两个(5,10)(10/5)

20以内5的倍数有四个(5,10,15,20)(20/5)

以此类推。。。。。。。

n内5的倍数其实就是n/5

所以输出n/5即可

0
0
0
刘添睿
刘添睿
高级光能
高级光能

一眼丁真,无脑问问题不看版规

0
刘添睿
刘添睿
高级光能
高级光能

@许晏恺 我怎么人身攻击了?请问他不说哪里不懂,我们怎么回答他?

0
朱宥宇
朱宥宇
新手光能
新手光能

定个long long的a

输入

输出a/5

我要回答