问题标题: 酷町堂:2659 整数处理,70分代码,求大佬找错

0
0
已解决
董宇昊
董宇昊
初级启示者
初级启示者
#include<bits/stdc++.h>
using namespace std;
int main(){
    int a,sum=0;
	cin>>a;
	if(a%10==5){
		while(1){
			a/=5;
			if(a==0) break;
			sum++;
		}
		cout<<sum;
		return 0;
	} 
	while(a){
		if(a%10==0){
			sum++;
		}
		a/=10;
	}
	cout<<sum;
    return 0;
}

点我看题目!

1  Accepted  0ms  偷看一下数据

2  Accepted  0ms  偷看一下数据

3  Accepted  0ms  偷看一下数据

4  Accepted  0ms  偷看一下数据

5  Accepted  0ms  偷看一下数据

6  Accepted  0ms  偷看一下数据

7  Wrong Answer  0ms  偷看一下数据

8  Accepted  0ms  偷看一下数据

9  Wrong Answer  0ms  偷看一下数据

10  Wrong Answer  0ms  偷看一下数据

跪求大佬找错!!!

 

董宇昊在2020-04-10 20:45:38追加了内容

#include<bits/stdc++.h>
using namespace std;
int main(){
    int a,sum=0;
    cin>>a;
    if(a%10==5){
        while(1){
            if(a==0||(a<=25&&a%5!=0)) break;//这里改了,但依然没有AC!
            a/=5;
            sum++;
        }
        cout<<sum;
        return 0;
    } 
    while(a){
        if(a%10==0){
            sum++;
        }
        a/=10;
    }
    cout<<sum;
    return 0;
}

董宇昊在2020-04-10 20:46:05追加了内容

@徐紫尘


0
0
胡家翊
胡家翊
高级守护
高级守护


这里不能这样判断
如果输入数字35,35/5=7统计依次,然后你7/5=1这样统计了一次
while循环的条件应当是a能被5整除
只要a能被5整除,就统计一次,然后a/=5

 

0
张成林
张成林
初级守护
初级守护

要用while循环和for循环,还有你的第一个if判断错了

0
0
张岳恒
张岳恒
资深光能
资深光能

这题用一个if else

判断个位是否为5

是就while判断能否被5整除

n/=5

计数器++

如果各位不为5

还是while(自己想)

输出计数器

0
0
徐紫尘
徐紫尘
高级光能
高级光能

输入(显示前50行):
109375
输出(显示前50行):
6

测试点6双手奉上

虽然你测试点6对了,但是你的代码输入109375会输出7

你好好改改,也许能多对几个测试点

0
董子墨
董子墨
中级天翼
中级天翼

你第一个if判断条件错了

我要回答