カメヲラボ

主にプログラミングとお勉強全般について書いてます

Biorhythms(0)

http://acm.pku.edu.cn/JudgeOnline/problem?id=1006
人間の身体・感情・知力の3要素にはサイクルがあり、それぞれ23日・28日・33日の周期を持っている。ある年の最初の日から数えて、それらのピークが何日後に来るかを与えられていて、3つのピークが重なる日を計算する問題。ただし、ただ、計算するだけではなく、その日が所定の日から何日後なのかを求める必要がある。
身体的要素をp、感情的要素をe、知的要素をi、所定の日をdとするとき、

p=0 e=0 i=0 d=0

ならば、いきなりピークが重なっているのだが、0日から後で重なる日数を計算しなければならないので、答えは0にならず、23*28*33=21252が答えになる。


今まではなんとなーく縮めて、放っておいたのだがcolunさんに「算術的に解くとまだ縮むYO!」と教えていただいたので、結構短縮することに成功した。また縮むような縮まないような・・・ってトコロですが、この問題は解説していこうと思います。まだ前の問題が片付いてないけど(;´д`)