1 条题解
-
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; }
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
- 上传者