1348.cpp

来自「这是哈尔滨工业大学acmOJ的源代码」· C++ 代码 · 共 38 行

CPP
38
字号
/*  This Code is Submitted by wywcgs for Problem 1348 on 2005-10-30 at 03:08:01 */ 
#include <cstdio>

const int P_PERIOD = 23;
const int E_PERIOD = 28;
const int I_PERIOD = 33;
const int T_PERIOD = P_PERIOD*E_PERIOD*I_PERIOD;

int main()
{
	int p, e, i, d;
	int days, j, t = 0;
	
	while(scanf("%d %d %d %d", &p, &e, &i, &d) == 4) {
		if(p == -1 && e == -1 && i == -1 && d == -1) {
			return 0;
		} else {
			p %= P_PERIOD;
			e %= E_PERIOD;
			i %= I_PERIOD;
			for(j = 0; j <= E_PERIOD*P_PERIOD; j++) {
				days = j * I_PERIOD + i;
				if((days-p)%P_PERIOD == 0 && (days-e)%E_PERIOD == 0) {
					break;
				}
			}
			days = (days + T_PERIOD - d) % T_PERIOD;
			if(days == 0) {
				days = T_PERIOD;
			}
			t++;
			printf("Case %d: the next triple peak occurs in %d days.\n", t, days);
		}
	}
	
	return 0;
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?