本帖最后由 ultra1989 于 2010-10-27 08:54 编辑 7 |8 F1 Z8 O" U s' y8 A
2 Z+ e3 I* Z) N4 X! k' @4 j( t
用float可能会有精度问题用中国剩余定理求解 ! M; \' h/ m8 {4 a5 ?参考程序:3 A' T& j/ s: m. n( k+ T
8 p) L! ^; w7 U" Y# S, {# {#include<stdio.h> ( h) B. q/ f) Y6 xint main(){ 9 s0 f. K6 n9 U6 P int a,b,c,m,n,i,d=1;; m' C8 g/ y @- L! c
while(scanf("%d%d%d%d",&a,&b,&c,&m)){- p4 l# [. ^+ l5 m& e k* v, C
; {( V! v3 q' C: D
if(a==-1&&b==-1&&c==-1&&m==-1) break;! ?- I; l" C! y0 c+ H$ ]
6 Q" ~$ E, ~* @8 |
n=0;; c& F, E. R5 O, `8 ^# Y5 d
6 X* C6 I) `9 E9 t3 o
i=(5544*a+14421*b+1288*c-m+21252)%21252;* ^# R, W. y: I2 l* K
3 I; g+ A# X; d# `$ n9 nif(!i) 6 x; g1 S; F ~+ B4 y1 J9 R; L0 W0 |8 Q5 u% K
i=21252; 1 v3 o. X3 t# W' ]' B2 O7 C: L! A/ l ( ^! J9 a. b$ [: Iprintf("Case %d: the next triple peak occurs in %d days.\n",d++,i); K# w2 d3 ?; _7 e# Y : a; `, M' L* I+ o4 H! D9 C } : n R% T9 u/ n3 S% {. @( H* B1 x2 f
return 0;2 `8 T+ g7 @/ t8 ]1 d% N2 I
} : s g r; J2 j) i3 r. U( X0 Q! V* \ S3 r0 k* h( V6 C7 C