求助,关于python
  • 板块学术版
  • 楼主lyh0313
  • 当前回复6
  • 已保存回复6
  • 发布时间2022/8/10 15:34
  • 上次更新2023/10/27 16:06:45
查看原帖
求助,关于python
147391
lyh0313楼主2022/8/10 15:34

C++ code

#include<cstdio>
#include<cstdlib>
#include<cstring>
#include<string>
#include<cmath>
#include<iostream>
using namespace std;

int n;
char s[25];

void calc()
{
	int i,j,r0=n,r5=n,ans=n;
	for(i=n-1;i>=0;i--)
	{
		if(s[i]=='5')
		{
			if(r0<n)
			{
				ans=n-2-i;
				break;
			}
			r5=i;
		}
		else if(s[i]=='2'||s[i]=='7')
		{
			if(r5<n)
			{
				ans=n-2-i;
				break;
			}
		}
		else if(s[i]=='0')
		{
			if(r0<n)
			{
				ans=n-2-i;
				break;
			}
			r0=i;
		}
	}
	printf("%d\n",ans);
}

int main()
{
	int t;
	scanf("%d",&t);
	while(t--)
	{
		scanf("%s",s);
		n=strlen(s);
		calc();
	}
	return 0;
}

python code

t=int(input())
for tt in range(0,t,1):
    s=input()
    n=len(s)
    r0=n
    r5=n
    ans=n
    i=n-1
    while(i>=0):
        ch=s[i]
        if(ch=='5'):
            if(r0<n):
                ans=n-2-i
                break
            r5=i
        elif(ch=='2' or ch=='7'):
            if(r5<n):
                ans=n-2-i
                break
        elif(ch=='0'):
            if(r0<n):
                ans=n-2-i
                break
            r0=i
        i-=1
    print(ans)

python的代码有什么问题吗?

为什么C++的AC,python的却WA了

题目大意是把一个整数删除某些位上的数,使其变为25的倍数,保证无前导零,问最少删几位数

2022/8/10 15:34
加载中...