1 条题解

  • 0
    @ 2025-4-12 21:50:59

    C :

    int main (void)
    {
    	int a, b, k;
    	int l; //除数
    
    	while (1)
    	{
    		/*处理一行*/
    		a = b = k = 0;
    		l = 1;
    		scanf("%d%d%d", &a, &b, &k);
    
    		for (;k > 0; --k) 
    		{
    			l *= 10; 
    		}
    
    		if (a == 0 && b == 0)break;
    
    		if ( a % l == b % l )
    			printf("-1\n");
    		else
    			printf("%d\n", a+b);
    
    	}
    
    	return 0;
    }
    

    C++ :

    #include<stdio.h>
    #include<math.h>
    
    int main()
    {
    	int a,b,k,i,m,t;
    	while(scanf("%d%d%d",&a,&b,&k)!=EOF,a||b)
    	{
    		if(a==b)
    			printf("-1\n");
    		else
    		{
    			m=fabs(a-b);
    			t=0;
    			i=10;
    			while(1)
    			{
    				if(m%i==0)
    					t++;
    				else
    					break;
    				i*=10;
    			}
    			printf(t>=k?"-1\n":"%d\n",a+b);
    		}
    	}
    	return 0;
    }
    

    Java :

    import java.util.Scanner;
    
    public class Main {
    	public static void main(String[] args) {
    		Scanner sc=new Scanner(System.in);
    		while(sc.hasNext()){
    			int A=sc.nextInt(),B=sc.nextInt(),K=sc.nextInt();
    			if(A==0&&B==0){
    				break;
    			}
    			int n=1;
    			while(K-->0){
    				n*=10;
    			}
    			int output=A%n==B%n ? -1:A+B;
    			System.out.println(output);
    		}
    		sc.close();
    	}
    }
    

    Python :

    while True:
        a, b, c = [int(i) for i in raw_input().split()]
        if b == 0 and a == 0:
            break
        if abs(a - b) % (10 ** c) == 0:
            print(-1)
        else:
            print(a + b)
    
    • 1

    信息

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