Professional Documents
Culture Documents
1. Divizorii unui nr
#include <iostream>
int main()
{
int n;
std :: cin >> n;
for(int d =1 ; d <= n ; d ++ )
if(n % d == 0)
std :: cout << d << " ";
return 0;
}
2. Cmmdc
#include <iostream>
int main()
{
int n , m;
std :: cin >> n >> m;
while(m != 0)
{
int r = n % m;
n = m;
m = r;
}
std :: cout << n << std :: endl;
return 0;
}
3.Verif prim
#include <iostream>
int main()
{
int n;
std :: cin >> n;
bool prim = true; // presupunem ca n este prim
if(n < 2)
prim = false; // 0 si 1 nu sunt prime
for(int d =2 ; d * d <= n ; d ++)
if(n % d == 0)
prim = false;
if(prim)
std :: cout << n << " este prim";
else
std :: cout << n << " nu este prim";
return 0;
}
if(p)
cout << d << " " << p << endl;
++ d;
5.Fibonacci
#include <iostream>
using namespace std;
int main()
{
int n;
cout << "n = ";
cin >> n;
int c,b, a;
a= 1;
b= 1;
cout << a<< "\n" << b<< "\n";
for(int i = 3; i <= n; i++)
{
c= b+a;
a=b;
b=c;
cout << c<< "\n";
}
return 0;
}
6.Interclasare
int n,a[100000], m , b[100000], p, c[200000];
int i = 0 , j = 0;
p = 0;
while(i < n && j < m)
if(a[i] < b[j])
c[p ++] = a[i ++];
else
c[p ++] = b[j ++];
while(i < n)
c[p ++] = a[i ++];
while(j < m)
c[p ++] = b[j ++];
S[0] = 0;
9.Cautare binara
#include <iostream>
using namespace std;
const int N = 10;
int V[N] = {16, 27, 43, 45, 49, 60, 68, 81, 92, 96};
int CautareBinara(int x)
{
int Sol = -1, Left = 0, Right = N;
while(Left <= Right)
{
int Mid = (Left+Right) / 2;
if(V[Mid] == x)
{
Sol = Mid;
break;
}
if(V[Mid] > x)
Right = Mid - 1;
if(V[Mid] < x)
Left = Mid + 1;
}
return Sol;
}
int main()
{
cout << CautareBinara(43);
return 0;
}
10.Vectori de frecventa
#include <iostream>
int n, fr[101];
int main()
{
cin >> n;
for(int i = 1; i <= n; i++) {
int x;
cin >> x;
fr[x]++;
}
for(j=1;j<=n;j++)
cin>>a[i][j];
for(i=1;i<=n-1;i++)
for(j=i+1;j<=n;j++)
if(a[i][k]>a[j][k]) verifcam care dintre numere este mai mic
Ordonarea descrescatoare
# incluude <iostream.h> includem bibliotecile
void main ()
{int a[100][100],n,k,i,j,aux; declaram variabilele (n=numarul de
coloane si de linii si k=numarul colanei in care vor fi ordonate elementele)
cin>>n>>k;
for(i=1;i<=n;i++) citim matricea
for(j=1;j<=n;j++)
cin>>a[i][j];
for(i=1;i<=n-1;i++)
for(j=i+1;j<=n;j++)
if(a[i][k]<a[j][k]) verifcam care dintre numere este mai
mare
#include <iostream>
int main()
{
int v[101][101], n, m, maxi;
cin>>n>>m;
for(int i=0; i<n; i++)
for(int j=0; j<m; j++)
cin>>v[i][j];
for(int i=0; i<n; i++)
{
int s=0;
maxi=v[i][0];
for(int j=0; j<m; j++)
{
if(maxi<v[i][j])
maxi=v[i][j];
s+=v[i][j];
cout<<s-maxi<<" ";
}
return 0;
}
#include <bits/stdc++.h>
int prim(int n)
if(n==2) return 1;
if(n%2==0) return 0;
for(int i=3;i*i<=n;i=i+2)
if(n%i==0) return 0;
return 1;
int main()
int n,m,c=0;;
int a[102][102];
for(int i=1;i<=n;++i)
for(int j=1;j<=m;++j)
for(int i=2;i<=n;i=i+2)
for(int j=1;j<=m;++j)
if(prim(a[i][j])) c++;
cout <<c;
return 0;
Cerința
Se dă o matrice cu n linii și m coloane și elemente numere naturale. Să se permute
coloanele matricei circular spre stânga cu o poziție.
#include <bits/stdc++.h>
int main()
int n,m,a[102][102];
cin>>n>>m;
cin>>a[i][j];
swap(a[i][j], a[i][j+1]);
cout<<endl;
return 0;
int f[1000001]={0};
int main()
cin>>n>>m;
cin>>a[i][j];
v[p]=a[i][j];
p++;
f[a[i][j]]++;
if(f[a[i][j]]>maxi)
maxi=f[a[i][j]];
sort(v, v+p);
if(f[v[i]]==maxi)
ok=v[i];
cout<<ok;
return 0;