1 条题解

  • 0
    @ 2025-4-12 21:41:02

    C :

    #include<stdio.h>
    #include<math.h>
    
    int std( int f );
    
    int main()
    {
    	int a,l,r;
      scanf("%d",&a);
    	while(scanf("%d %d",&l,&r)!=EOF)
    	{
    		int i,j,k=0,n,m;
    		n=std( l );
    		m=std( r );
    		if(m==n)
    		{
    		 for(i=m-1;i>=0;i--)
    		 {
    			 if(l/(int)pow(10,i)==r/(int)pow(10,i))
    			 {
    			 if(l/(int)pow(10,i)==8&&r/(int)pow(10,i)==8)
    			 {
    				 k++;
    				 l=l%(int)pow(10,i);
    				 r=r%(int)pow(10,i);
                 }
    			 l=l%(int)pow(10,i);
    			 r=r%(int)pow(10,i);
    			 }
    		 }
    		 printf("%d\n",k);
    		}
    		else
    			printf("0\n");
    	}
    	return 0;
    }
    
    
    int std( int f )
    {
    	int i,j,k=0;
    	while(f>0)
    	{
    		f=f/10;
    		k++;
    	}
    	return k;
    }
    

    C++ :

    #include<stdio.h>
    #include<string.h>
    int main()
    {
        int T,l,r,i,j,m,x,y,c;
        int a[10000],b[10000];
        scanf("%d",&T);
        while(T--)
        {
            memset(a,0,sizeof(a));
            memset(b,0,sizeof(b));
    				        x=0;y=0;
    		        scanf("%d%d",&l,&r);
    		        m=l;
    		for(i=0;m!=0;i++)
    			{
    				a[i]=m%10;
    				m=m/10;
    				x+=1;
    			}
    		 m=r;
    		 for(j=0;m!=0;j++)
    			{
    				b[j]=m%10;
    				m=m/10;
    				y+=1;
    			}
    		 if(x<y) printf("0\n");
    		 else
    		 {
    			for(i=x,j=y,c=0;i!=0,j!=0;i--,j--)
    			{
    				if(a[i-1]==b[j-1])
                        if(a[i-1]==8&&b[j-1]==8)
                        {
                            c+=1;
                        }
                        else continue;
    				else  break;
    			}
    			printf("%d\n",c);
    		 }
        }
        return 0;
    }
    
    • 1

    信息

    ID
    1065
    时间
    1000ms
    内存
    128MiB
    难度
    (无)
    标签
    递交数
    0
    已通过
    0
    上传者