TGViewer
Infinite Loop Of Math² Infinite Loop Of Math² @mathloopinfinite · 145 subscribers
Post #29 115
Infinite Loop Of Math² الگوریتم اقلیدس روشی موسوم به روش نردبانی برای یافتن بزرگ‌ترین مقسوم‌علیه مشترک (ب. م. م) دو عدد است. ساده‌ترین نسخۀ الگوریتم اقلیدس، بر این واقعیت استوار است که ب. م. م دو عدد، با ب. م. م عدد کوچک‌تر و تفاضل آن دو عدد، یکسان است. نسخۀ سادۀ الگوریتم اقلیدس:…
خب بیاید فرض کنیم برنامه که قراره ب.م.م دو تا عدد مثل a و b رو حساب کنه. خب حالت عادی تو ذهنمون میایم برای هر دو عدد شمارنده‌هاش رو بررسی می‌کنیم و از بین اشتراک‌شون بزرگترین رو انتخاب می‌کنیم. همین قضیه رو باید یه جوری پیاده کنیم که کامپیوتر بفهمه. در نتیجه عملا به چندین حلقه و یک حلقه تو در تو و آرایه نیازه، که من برای اینکه راحت‌تر باشه آرایه رو توcpp با وکتور رفتم چون به صورت آرایه‌ای محض حتی مشکل‌تره. که نتیجه نهایی میشه همچین چیزی:

#include<iostream> //gcd the hard way :D
#include <vector>
using namespace std;
int main()
{
int a;
int b;
vector<int> r;
vector<int> m;
cin >> a >> b;
for (int i = 1; i <= a; i++)
{
if (a % i == 0)
{
r.push_back(i);
}
}
for (int i = 1; i <= b; i++)
{
if (b % i == 0)
{
m.push_back(i);
}
}
// for finding the max ---->
int gcd = 1;
for (int i = 0; i < r.size(); i++)
{
for (int j = 0; j < m.size(); j++)
{
if (r[i] == m[j])
{
if (r[i] > gcd)
{
gcd = r[i];
}
}
}
}
cout << "the gcd is: " << gcd;
return 0;
}


🥸حالا اگر بخوایم الگوریتم اقلیدسی بریم کارمون خیلی راحت‌تر میشه و تو کمتر از بیست خط کار جمعه. البته اینجا از روش تفریق استفاده نکردیم چون کار با باقیمانده راحت‌تره.

#include <iostream>//الگوریتم اقلیدسی
using namespace std;
int main()
{
int a,b;
cin>>a>>b;
int x=a, y=b;
int temp;
while(y != 0)
{
temp = y;
y = x%y;
x = temp;
}
cout<<"the gcd is: "<<x<<endl;

return 0;
}


البته یک روش دیگه هم وجود داره که با استفاده از عامل‌های اول اعداد ب‌م‌‌م رو پیدا کنیم که باز هم به بهینه بودن الگوریتم اقلیدسی نیست🥸
#math_ideas
#math_facts
#coding
@mathloopinfinite
  • ❤ 3
  • 🔥 2
More from @mathloopinfinite
  1. Oct 4, 2026🧠 جهشی جدید در ریاضیات با کمک مدل Muse Spark؛ پنج مسئله باز، پنج پاسخ جدید دوروز پیش شرکت…
  2. Oct 2, 2026مقایسه‌ای کوتاه بین HolyC و Cpp❗️ شاید کنجکاو شده باشید که بدونید تری دیویس در زبان ساختگی…
  3. Oct 1, 2026Post #125
  4. Sep 29, 2026می‌خوای لینوکس شروع کنی از صفر؟🐧 یه سایت خیلی بامزه هست به اسم Labex که می‌تونید پله به پ…
  5. Sep 25, 2026این مکالمه بین «هاول» و «سوفی» صفر تا صد با مدل جدید Gemini 3.8 Flash TTS گوگل رندر شده. ​…
  6. Sep 25, 2026Post #122
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →