Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /*
- Да се напише програма која што за дадена низа од природни броеви (која што
- се внесува од тастатура) ќе го отпечати најголемиот заеднички делител (НЗД)
- на нејзините елементи. Програмата задолжително треба да содржи
- рекурзивна функција за пресметување на НЗД на два природни броја.
- 48 36 120 72 84
- На екран треба да се отпечати:
- NZD na elementite na ovaa niza e 12}
- НЗД за два броја може да се пресмета со користење на Евклидовиот
- алгоритам.
- • За да се пресмета НЗД на броевите m и n, се пресметува остатокот при
- делење на m со n.
- • ако остатокот не е 0, се пресметува остатокот при делење на n со m % n
- • постапката се повторува се додека се добиваат ненеулти остатоци
- • ако остатокот е 0, НЗД на двата броја е последниот пресметан ненулти
- остаток.
- Пример
- NZD(20, 12)
- 20 % 12 = 8
- 12 % 8 = 4
- 8 % 4 = 0
- NZD(20, 12) = 4
- */
- #include <stdio.h>
- int NZD(int m,int n){
- if(m%n==0){
- return n;
- }else if(m==0 && n==0){
- return 0;
- }
- else{
- return NZD(n,m%n);
- }
- }
- int main()
- {
- int n;
- scanf("%d",&n);
- int niza[n];
- for(int i=0;i<n;i++){
- scanf("%d",&niza[i]);
- }
- int nzd = NZD(niza[0],niza[1]);
- for(int i=2;i<n;i++){
- nzd = NZD(nzd,niza[i]);
- }
- printf("%d", nzd);
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement