1 条题解
-
0
C :
#include<stdio.h> int main() { int p,e,i,d,j,c=0; while(scanf("%d%d%d%d",&p,&e,&i,&d),p!=-1) { for(j=d+1;;j++) if((j-p)%23==0&&(j-e)%28==0&&(j-i)%33==0) break; printf("Case %d: the next triple peak occurs in %d days.\n",++c,j-d); } return 0; }
C++ :
#include<stdio.h> int main() { int p,e,i,d,j,c=0; while(scanf("%d%d%d%d",&p,&e,&i,&d),p!=-1) { for(j=d+1;;j++) if((j-p)%23==0&&(j-e)%28==0&&(j-i)%33==0) break; printf("Case %d: the next triple peak occurs in %d days.\n",++c,j-d); } return 0; }
Java :
import java.util.*; public class Main{ public static void main(String[] args){ Scanner in=new Scanner(System.in); int count = 1; while(in.hasNextInt()){ int p=in.nextInt()%23; int e=in.nextInt()%28; int i=in.nextInt()%33; int d=in.nextInt(); int day = 0; int j = 1, k = 1, l = 1; if(p==-1&&e==-1&&i==-1&&d==-1) break; while((28*33*j)%23!=1) j++; while((23*33*k)%28!=1) k++; while((23*28*l)%33!=1) l++; day = (28*33*j*p+23*33*k*e+23*28*l*i)%21252; if(day==d) day = 21252; else if(day<d) day = 21252-(d-day); else day = day-d; System.out.println("Case "+count+": the next triple peak occurs in "+day+" days."); count++; } } }
- 1
信息
- ID
- 1643
- 时间
- 1000ms
- 内存
- 32MiB
- 难度
- (无)
- 标签
- (无)
- 递交数
- 0
- 已通过
- 0
- 上传者