バイオリズム中国の剰余定理

  

質問の意味
  誕生から誰が、身体的、感情的、知的3つの月経周期、それぞれ23、28および33日を持っています。この日のピーク期間中毎日、、(、身体的、感情的または精神的な)対応する側面のパフォーマンスで最高の男。これは通常、3のピーク期間が同じ日ではありませんです。今物理的、感情的、知的ピーク出現の日付に対応する、3日を与えられました。続いて、この日から、必要な開始日を与える他の三つのピークが同時に発生した以上の日数を計算します。
 
 
この問題は、中国の剰余定理究極の水の問題です(でも、テンプレートは実際にはありません)が、中国の剰余定理は、私の心の痛みとなっています。
 

中国の剰余定理

  「孫子スアンジン」のような問題があると言った:「今日は未知数残りの2つ(32で割った余り)の3数3、数週間(5以上で割っ3)は、3つの残りの五〇から五数でした(以上72で割った)残りの二つの数は、幾何学的なオブジェクトを尋ねた?「問題への国際的な一般的な解決策に呼びかけ、」孫の問題中国の剰余定理「は、この問題が呼ばれます」。 " 3つの段階で具体的な解決策:

    1. 3つの数字を見つける:7を最終から3,7、5,7の公倍数からI 21の最小数を見つけるために、5に加えて、15 3及び5の公倍数から分割余りの最小数を見つけるために加えて、70 I 31の数の最小公倍数を見つけることができます。
    2. 15(最終結果は数5で除算されている3)21 3を乗じ、(7によって分割される最終結果のための2つ)2が乗算される。同様に、70を乗じ2(最終結果は2〜3で除算され残り)、および3つの製品が追加される15 * 2 + 21 * 3 + 70 * 2 15 * 2 + 21 * 3 70 * 2 + 233を得られました。
    3. すなわち、105 3,5,7 3の最小公倍数で割った数233、分割23の残りの部分と233 105 = 23 233 105%= 23。残り23は、条件の最小数と一致しています。

 

  %23 = 1 33 * 28 *ように、= 6を得る; * 28 * 6 = 5544 33。 

  だから、23 * 33 * Bが%28 =ことを 1が、 = 19bとしている、23 * 33 *  19 = 14421;
  33 = 23 * 28 *のC%とする 1は、 与えるために、C = 2; 23 * 28 *  2 = 1288。

  そして、X = 5544 * P + 14421 * E + 1288 * I
  

 
する#include <stdio.hの> に#define MAX 21252 INT のmain()
{ int型の P、E、I、D、N、=カウント0 一方、(scanf関数(" %D%D%D%D "!、&P、&E&I&D)= EOF)が
    { 
                カウント ++ ;
        もし( - P == 1 && E == - 1 && I == - 1 && D == - 1 
        { 破ります
                } 
        N =(5544 * P + 14421 * E + 1288
 

 

    
    
    
            
 * I - D)%MAX。
        
        もし(N <= 0// 范围限制
        { 
            N + = 21252 
                } 
        
        のprintf(" ケース%D:次のトリプルピークは%d日に発生した\ N " 、カウント、n)は、
    } 
    戻り 0 
}
コードの表示

 

 

 

 

おすすめ

転載: www.cnblogs.com/bxd123/p/10964501.html