1 条题解

  • 0
    @ 2024-5-10 0:45:58

    C :

    #include<stdio.h>
    #define L y%4==0&&y%100!=0||y%400==0
    
    int main()
    {
    	int t,y,n,m;
    	scanf("%d",&t);
    	while(t--)
    	{
    		scanf("%d%d",&y,&n);
    		m=0;
    		while(1)
    		{
    			if(L)
    				m++;
    			if(m==n)
    				break;
    			y++;
    		}
    		printf("%d\n",y);
    	}
    	return 0;
    }
    

    C++ :

    #include<stdio.h>
    #define L y%4==0&&y%100!=0||y%400==0
    
    int main()
    {
    	int t,y,n,m;
    	scanf("%d",&t);
    	while(t--)
    	{
    		scanf("%d%d",&y,&n);
    		m=0;
    		while(1)
    		{
    			if(L)
    				m++;
    			if(m==n)
    				break;
    			y++;
    		}
    		printf("%d\n",y);
    	}
    	return 0;
    }
    

    Pascal :

    var i,t,a,b,s:longint;
    begin
     read(t);
     for i:=1 to t do
      begin
       readln(a,b);s:=0;
       repeat
        if (a mod 400=0)or((a mod 4=0)and(a mod 100<>0)) then s:=s+1;
        a:=a+1
       until s=b;
       writeln(a-1)
      end
    end.
    

    Java :

    import java.util.Scanner;
    
    public class Main {
    
    	private static boolean isPrime(int year){
    		return year%4==0&&year%100!=0 || year%400==0;
    	}
    	public static void main(String[] args) {
    		Scanner in = new Scanner(System.in);
    		int t = in.nextInt();
    		while(t-->0){
    			int year = in.nextInt();
    			int next = in.nextInt()-1;
    			while(!isPrime(year))year++;
    			while(next>0){
    				if(isPrime(year+=4))next--;
    			}
    			System.out.println(year);
    		}
    	}
    
    }
    
    

    Python :

    def isLeap(year):
        if year%4==0 and year%100!=0 or year%400==0:
            return 1
        else:
            return 0
    t = input()
    while t:
        [x,y]=raw_input().split()
        year,n = int(x),int(y)
        #print year,n
        while True:
            if isLeap(year):
                #print year
                n-=1
                if n==0:break
            year+=1
        print year
        t -= 1
        if t == 0: break
    
    
    • 1

    信息

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