Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- //prob 1
- #include <stdio.h>
- #include <stdlib.h>
- int main()
- {
- int i,n,v[100],sum,sumT=0;
- scanf("%d",&n);
- for (i=0; i<n-1; i++)
- {
- scanf("%d",&v[i]);
- sumT+=v[i];
- }
- sum = (n*(n+1))/2;
- printf("Numarul lipsa este %d",sum-sumT);
- return 0;
- }
- //prob 2, metoda votului majoritar
- #include <stdio.h>
- #include <stdlib.h>
- int main()
- {
- int i,n,v[100];
- scanf("%d",&n);
- for (i=0; i<n; i++)
- {
- scanf("%d",&v[i]);
- }
- int cand = v[0], k= 0 ;
- for (i=0; i<n-1; i++)
- {
- if (v[i] == v[i+1])
- k++;
- if ((v[i] != v[i+1]) && k == 0 )
- {
- cand = v[i+1];
- k--;
- }
- }
- printf("\n\n cand = %d k = %d \n\n\n",cand,k);
- int nr_app = 0;
- for (i=0; i<n; i++)
- {
- if (v[i] == cand)
- nr_app++;
- }
- if (nr_app >= floor(n/2) + 1)
- printf("Elementul majoritar este %d.",cand);
- else
- printf("Nu exista un element majoritar.");
- return 0;
- }
- //prob 4
- #include <stdio.h>
- #include <stdlib.h>
- int cautareBinare(int v[], int a, int b, int x)
- {
- int mij;
- if (b >= a)
- {
- mij = a + (b - a)/2;
- if (v[mij] == x)
- return mij;
- if (v[mij] > x)
- return cautareBinare(v,a,mij-1,x);
- return cautareBinare(v,mij+1,b,x);
- }
- return -1;
- }
- int main()
- {
- int i,n,v[100];
- scanf("%d",&n);
- for (i=0; i<n; i++)
- {
- scanf("%d",&v[i]);
- }
- printf("Elementul cautat se afla pe pozitia %d",cautareBinare(v,0,n-1,3));
- return 0;
- }
- //problema 4
- #include <stdio.h>
- #include <stdlib.h>
- int cmmdc(int a, int b)
- {
- if (a == 0)
- return b;
- return cmmdc(b%a,a);
- }
- int vector_cmmdc(int v[], int n)
- {
- int i, div = 0;
- div = cmmdc(v[0],v[1]);
- if (div == 1)
- return 1;
- for (i=2; i<n; i++)
- div = cmmdc(div,v[i]);
- return div;
- }
- int cmmdc_rec(int v[], int n)
- {
- if (n==2)
- return cmmdc(v[0],v[1]);
- else
- return cmmdc(cmmdc_rec(v,n-1),v[n-1]);
- }
- int main()
- {
- int i,n,v[100];
- scanf("%d",&n);
- for (i=0; i<n; i++)
- {
- scanf("%d",&v[i]);
- }
- printf("cmmdcul este %d",cmmdc_rec(v,n));
- return 0;
- }
- //problema 5
- #include <stdio.h>
- #include <stdlib.h>
- int suma(int *v, int n,int i)
- {if(i==n)return 0;
- if(i%2==0)return v[i]+suma(v,n,i+1);
- else return suma(v,n,i+1)-v[i];
- }
- int main()
- {
- int v[100],n,i;
- scanf("%d",&n);
- for(i=0;i<n;i++)
- scanf("%d",&v[i]);
- printf("%d",suma(v,n,0));
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement