2012-01-05 7 views
-3

プロジェクトオイラーの問題9で、問題が発生しました:無限ループ。ここでプロジェクトオイラー009問題

が私のコードです:これを書いて馬鹿を助けた皆の

#include <iostream> 
#include <cmath> 

bool isPythagorean(int a, int b, int c); 

int main(){ 
     int a; 
     int aa; 
     int b; 
     int bb; 
     int c; 

     for(a = 0; a <= 1000; a++){    /*a loop*/ 
       aa = a; 
       for(b = aa; b <= 1000; b++){  /*b loop*/ 
         bb = b; 
         for(c = bb; c <= 1000; c++){ 
           if(isPythagorean(a,b,c)){ 
             if(a + b + c == 1000){ 
               std::cout << (a * b) * c; 
               return 0; 
             } 
           else 
             continue; 
           } 





       } 




     } 

     return 1; 
} 
bool isPythagorean(int a, int b, int c){ 
     int Pa = (int) pow(a, 2); 
     int Pb = (int) pow(b, 2); 
     int Pc = (int) pow(c, 2); 
     if(a < b && b < c){ 
         if(Pa + Pb == Pc) 
           return true; 
         else 
           return false;  
     } 

     else 
       return false; 
} 

礼儀、コードが変更されていないが、エラーはまだ立って:

コードが実行されると、何も端末に出力する。誰も親切にここで何がうまくいかないのか教えてもらえますか?

私は、このような馬鹿だ;。私のおかげでさえ、この見ているみんなに行く

、コードの悪い作品の全体のホストに気付いためistrandjev、ありがとうございました。

ありがとう、その愚かなエラーに気付いたBlastfurnace。

+0

http://stackoverflow.com/editing-help#code – SLaks

+0

StackOverflowはあなたの答えを得ることはできません(実際には...あなたを競争の中で助けてください)。 –

+0

だから、私はそれを取り除くべきではないか? SLAKsありがとうございました! – Bajinga

答えて

0

私はあなたが適用しようとしているロジックの多くを取得しません。 %1 == 0 & & b%1 == 0 & c%1 == 0チェックしていますか?もしあなたが知っていれば、それを書くことができます。また、サイクルは終了するはずですか?条件の1つが> cで、a * b + b * b == c * cとする場合、トリプレットはどのようにピタゴラスであるべきですか?

+0

私はそれぞれが整数かどうかをチェックするつもりでした。 答えが見つかったときにサイクルが終了するようになっています...しかし、あなたが質問したように、私はそれを1000に制限することができます。 > cは愚かです。ごめんなさい。 ありがとうございます。 – Bajinga

関連する問題