临时2



B题

import  java.io.*;
import java.util.*;
public class Main {
	static int day1[]={31,29,31,30,31,30,31,31,30,31,30,31};
	static int day2[]={31,28,31,30,31,30,31,31,30,31,30,31};
    public static int dateTransform(int x,int y,int z){
    	int i;int ans=0;
    	if((x%4==0&&x%100!=0)||(x%400==0)){
    	    for(i=1;i<y;i++){
    	    ans+=day1[i-1];
    	    }
    	    ans+=z;
    	    return ans;
    	}
    	else{
    	        for(i=1;i<y;i++){
    	    ans+=day2[i-1];
    	    }
    	    ans+=z;
    	    return ans;

    	}
    	}
	public static void main(String[] args) {
		int a,b,c;
	Scanner sc=new Scanner(System.in);
	        while(sc.hasNextInt()){
	        	a=sc.nextInt();
	        	b=sc.nextInt();
	        	c=sc.nextInt();
		    System.out.printf("%d
",dateTransform(a,b,c));
	        }
	}

}


A题

c++:

#include<stdio.h>
#include<string.h>
using namespace std;
int a[10];
char tmp[5];
int isok(int x,int y)
{
    memset(a,0,sizeof(a));
    int flag=1;
    int z=x+y;
    if(z>987)
    {
        return 0;}
    int  i;
    sprintf(tmp,"%d",x);
    for(i=0; i<3; i++)a[tmp[i]-'0']=1;
    sprintf(tmp,"%d",y);
    for(i=0; i<3; i++)a[tmp[i]-'0']=1;
    sprintf(tmp,"%d",z);
    for(i=0; i<3; i++)a[tmp[i]-'0']=1;
    for(i=1; i<10; i++)
    {
        if(a[i]==0)flag=0;
    }
    return flag;
}
int main()
{
    int i,j,k=0;
    for(i=123; i<=987; i++)
    {
        for(j=123; j<=987; j++)
        {
            if(isok(i,j)>0)
            {
                printf("%d+%d=%d
",i,j,i+j);
                k++;
            }
        }


    }
    printf("%d
",k);

    return 0;
}


Java 版

import  java.io.*;
import java.util.*;
public class Main {
    public static int isok(int x,int y){
    int[]a=new int[10];
      int flag=1;
       int z=x+y;
       int i;
       if(z>987){return 0;}
     a[x/100]=1;
     a[x%10]=1;
     a[x/10%10]=1;
     
     a[y/100]=1;
     a[y%10]=1;
     a[y/10%10]=1;
     
     a[z/100]=1;
     a[z%10]=1;
     a[z/10%10]=1;
      for(i=1; i<10; i++){if(a[i]==0)flag=0;}
      return flag;
  }
public static void main(String[] args) {
// TODO Auto-generated method stub
 int i,j;int cnt=0;
   for(i=123; i<=987; i++)
   {
       for(j=i+1; j<=987; j++)
       {
           if(isok(i,j)==1){
            cnt++;
            System.out.printf("%d+%d=%d
",i,j,i+j);
         }
           }
       
    
   }
   System.out.printf("Total of %d Expressions.
",cnt);
   
}


}

废弃代码段

//    public static int isok(int x,int y){
//    	int[]a=new int[10];
//    	   int flag=1;
//    	    int z=x+y;
//    	    String s;
//    	    if(z>987){return 0;}
//    	    int  i;
//    	   s=String.valueOf(x);
//    	    for(i=0; i<3; i++)a[s.charAt(i)-'0']=1;
//    	    s=String.valueOf(y);
//    	    for(i=0; i<3; i++)a[s.charAt(i)-'0']=1;
//    	    s=String.valueOf(z);
//    	    for(i=0; i<3; i++)a[s.charAt(i)-'0']=1;
//    	    for(i=1; i<10; i++){if(a[i]==0)flag=0;}
//    	    return flag;
//  }


原文地址:https://www.cnblogs.com/hjch0708/p/7554851.html