2011-01-26 8 views
0
#include <iostream> 
using namespace std; 
int main(){ 
    int a,b,hcf=0,i=1; 
    cout<<"Enter Value :"; 
    cin>>a; 

    cout<<"Enter value :"; 
    cin>>b; 

    while(i<=a || i<=b){ 
     if(a%i ==0 && b%i ==0)hcf=i; 
     ++i; 
     }   
return 0; 
    } 

または残りの方法?これはhcfを見つける良い方法ですか?

+1

あなたのコードをフォーマットしてください –

+0

あなたは何をしようとしているのか分かりません。あるいは、hcfが "最高の共通因子"を意味するわけではありませんか?コード内で何をしているのですか? –

+2

[HCF](http://en.wikipedia.org/wiki/Halt_and_Catch_Fire)(Halt-and-Catch-Fire)はジョークマシンコードの命令であり、実際のものではありません。 –

答えて

3

あなたはhcfをまったく探していますか?番号を逆転しようとしているようです。

+1

コードは私の質問の後に変更されています... – Anirudh

1

関与数字が本当に小さい場合を除き、ユークリッドのアルゴリズムはたくさん速くなる可能性があります。これは数字のサイズに対して線形です(反復ごとに2つのディビジョンがあり、ディビジョンは最も遅いタイプの命令の1つです)。ユークリッドは実際には分析するのがかなり簡単です - Knuth V2にはいくつかのページがありますが、最終的には一般的にかなり高速です。

現在使用しているバリエーションをバリエーションとして使用したい場合は、iから2つの入力のうちの小さい方の値を入力して、に設定します。このように、最初にあなたは共通の要因を見つける時、あなたは答えを持っているので、あなたはループから脱出することができます。

関連する問題