Помогите Плз

  • Автор темы JimmyBoom
  • Дата начала
J

JimmyBoom

Гость
#1
Помогите. Написать программу на Visual C++

Найти Наибольший Общий Делитель 6 целых чисел.
 

Whatka

Well-Known Member
09.10.2011
428
4
#2
Всё очень просто.

Заходишь в гугл(или любой другой поисковик,какой твоей душе угодно) ищешь алгоритм(конечно если сам не знаешь) нода(подсказка!! для 2ух ищи и потом сам по аналогии для 6 сделай).Пишешь всё это в программе,испраляешь ошибки,думаешь(приоритетный процесс),а потом если не получиться выкладываешь код и спрашиваешь ещё раз,что тебе надо.

ну в крайнем случае ;)
 

lazybiz

Well-Known Member
03.11.2010
1 339
0
#3
Whatka, не, ты не прав. На этом форуме привычно тыкать в нос правилами, т.е. либо человек пытается сделать что-либо сам, и, если у него что-то не получается ему помогут, либо пусть изволит заплатить за решение. Люди должны знать что от них хотят и что им для этого требуется.
 

Vadik(R)

Well-Known Member
12.12.2007
469
0
#4
Подскажу немного. GCD (НОД) реализуется так:
C++:
typedef long long LL;
LL gcd (LL a, LL b) {return b == 0 ? a : gcd(b, a % b);}
 
I

igrok

Гость
#5
C++:
#include <iostream>

using namespace std;

int NOD(int a,int b) {

if(a<0) a=-a;
if(b<0) b=-b;
while(a>0 && b>0) {
if(a>=b) a=a%b;
else b=b%a;
}
return a+b; 
}

int main() {
const int n=6;
int num[n],i,nod_v=0;

cout<<"NOD"<<endl<<"Enter "<<n<<" numbers"<<endl;

for(i=0;i<n;i++) {
cout<<"number[ "<<i+1<<" ] = ";
cin>>num[i];//there is no input control. gonna fail, if not number is entered

if(i==1) nod_v=NOD(num[i-1],num[i]);
else if(i>1 && i<n) nod_v=NOD(num[i],nod_v);
}

cout<<"NOD = "<<nod_v<<endl;
return 0;
}
 

lazybiz

Well-Known Member
03.11.2010
1 339
0
#6
А что, i может быть больше или равняться n ?))
C++:
if ( i > 1 && i < n )