C ++で再帰またはユークリッドアルゴリズムを使用せずに、2つの数値のHCFを検索します
ご存知のように、HCFまたはGCDは、ユークリッドの互除法を使用して簡単に計算できます。ただし、ここでは、ユークリッドアルゴリズムや再帰アルゴリズムを使用せずにGCDまたはHCFを生成する方法を説明します。 2つの数値が16と24として存在するとします。これら2つのGCDは8です。
ここでのアプローチは単純です。これら2つの大きい数が小さい方で割り切れる場合、それはHCFです。そうでない場合は、(小さい/ 2)から1まで始まり、現在の要素が両方の数を割る場合、それがHCFです。
例
#include <iostream> using namespace std; int gcd(int a, int b) { int min_num = min(a, b); if (a % min_num == 0 && b % min_num == 0) return min_num; for (int i = min_num / 2; i >= 2; i--) { if (a % i == 0 && b % i == 0) return i; } return 1; } int main() { int a = 16, b = 24; cout << "HCF: "<< gcd(a, b); }
出力
HCF: 8
-
再帰を使用して自然数の合計を見つけるC++プログラム
自然数は1から始まる正の整数です。 自然数のシーケンスは-です 1, 2, 3, 4, 5, 6, 7, 8, 9, 10…… 再帰を使用して最初のn個の自然数の合計を見つけるプログラムは次のとおりです。 例 #include <iostream> using namespace std; int sum(int n) { if(n == 0) return n; else return n + sum(n-1); } int main() { &
-
再帰を使用してG.C.Dを検索するC++プログラム
2つの数値の最大公約数(GCD)は、両方を除算する最大の数値です。 例:45と27の2つの数字があるとします 63 = 7 * 3 * 3 42 = 7 * 3 * 2 So, the GCD of 63 and 42 is 21 再帰を使用して2つの数値のGCDを見つけるプログラムは次のとおりです。 例 #include<iostream> using namespace std; int gcd(int a, int b) { if (a == 0 || b == 0) return 0; els