临时2

来源:互联网 发布:软件翻译器 编辑:程序博客网 时间:2024/05/30 23:01



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\n",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\n",i,j,i+j);                k++;            }        }    }    printf("%d\n",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\n",i,j,i+j);         }           }              }   System.out.printf("Total of %d Expressions.\n",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;//  }


0 0
原创粉丝点击