Documente Academic
Documente Profesional
Documente Cultură
verificare p perf
sol 1
if(sqrt(n)==floor(sqrt(n)))
sol 2
m=sqrt(n);
if(m*m==n)
prelucrare cifre
cin>>n;
while(n)
{
c=n%10;
s+=c;(pt suma)
n/=10;
}
oglinditul
cin>>n;
aux=n;
while(aux)
{
c=aux%10;
on=on*10+c;
aux/=10;
}
Sa se stearga din numarul n toate cifrele impare; Construirea unui nou numar x cu
cifrele
pare ale lui n, in ordine de la stanga la dreapta.
cin>>n;
x=0;
p=1;
while (n)
{
c=n%10;
if (c%2==0)
{
x=c*p + x;
p=p*10;
}
n/=10;
}
cout<<x;
numarare divizori
O(n)
cin>n;
nr=0;
for (d=1; d<=n; d++)
if (n%d==0) nr++;
cout>>nr;
O(rad_n)
cin>>n;
nr=0;
for (d=1; d*d<n; d++)
if (n%d==0) nr+=2;
if (d*d==n) nr++;
cout<<nr;
nr prim
cin>>n;
ok=1;
if(n<2) ok=0;
for (d=2; d*d<=n; d++)
if (n%d==0)
{
ok=0;
break;
}
if(ok) cout<<”DA”;
else cout<<”NU”;
cmmdc(a,b) si cmmmc(a,b)
cin>>a>>b;
while(a!=b)
if (a>b) a-=b;
else b-=a;
cout<<a;
b) algoritmul lui Euclid
a=2, b=0
cin>>a>>b;
p=a*b;
while (b)
{
r=a%b;
a=b;
b=r;
}
cout<<a<<endl; // cmmdc(a,b)
cout<<p/a<<endl; // cmmmc(a,b)
cin>>n;
f1=f2=1;
if (n==1 || n==2) cout<<1;
else
{
for(i=3; i<=n; i++)
{
f3=f1+f2;
f1=f2;
f2=f3;
}
cout<<f3;
}
P2) Sa se verifice daca numarul x este termen in sirul lui Fibonacci
cin>>x;
f1=f2=1;
while (f2<x)
{
f3=f1+f2;
f1=f2;
f2=f3;
}
if (f2==x) cout<<”DA”;
else cout<<”NU”;
O(n)
P1) Afisarea factorilor primi si a puterilor la care apar in descompunere
(complexitate O(n))
cin>>n;
f=2;
while (n>1)
{
p=0;
while (n%f==0)
{
n=n/f;
p++;
}
if (p) cout<<f<<” ”<<p<<’\n’;
f++;
}
P2) Numarul de factori primi din descompunere (complexitate O(n))
cin>>n;
f=2;
while (n>1)
{
if ( n % f==0)
{
nr++;
while (n%f==0) n=n/f;
}
f++;
}
(Complexitate O√n)
SAU
cin>>n;
f=2;
while (n>1)
{
p=0;
while (n%f==0)
{
n=n/f;
p++;
}
if (p) cout<<f<<” ”<<p<<’\n’;
f++;
if (f*f>n) f=n;
}
P2)
cin>>n;
f=2;
while(f*f<=n)
{
if(n%f==0)
{
nr++;
while(n%f==0) n/=f;
}
f++;
}
if(n>1) nr++;
cin>>n;
for (i=1; i<=n; i++)
{
cin>>x;
if (x%2==0) l++;
else l=0;
if (l>lmax) lmax=l;
}
cout<<lmax;
secventa nr egale + nr din care e formata cea mai din stanga(testam pt 2 nr)
cin>>n;
l=1;
cin>>x;
for (i=2; i<=n; i++)
{
cin>>y;
if (x==y) l++;
else l=1;
if (l>lmax) // pt cea mai din dreapta >=
{
lmax=l;
r=y;
}
x=y;
}
cout<<lmax<<" "<<r;
#include <bits/stdc++.h>
int a[101],b[101],c[202],i,n,m,k,j;
int main()
{
cin>>n;
cin>>m;
for(i=1; i<=n; i++)
cin>>a[i];
cin>>b[i];
i=j=1;
while (i<=n && j<=m)
if (a[i]<b[j] && a[i]%2!=b[j]%2) c[++k]=a[i++];
else c[++k]=b[j++];
while (i<=n) c[++k]=a[i++];
while (j<=m) c[++k]=b[j++];
for(i=1;i<=k;i++)
if(c[i]%2!=c[i+1]%2)
cout<<c[i]<<" ";
return 0;
}
#include <bits/stdc++.h>
ifstream f("nr1.txt");
ifstream g("nr2.txt");
int a[10000001],b[100000001],n,i,m,j,c[200000002],k;
int main()
{
f>>n;
for(i=1; i<=n; i++)
f>>a[i];
g>>m;
for(j=1; j<=m; j++)
g>>b[j];
i=j=1;
while (i<=n && j<=m)
if(a[i] == b[j])
c[++k] = a[i], i++, j++;
else
if(a[i] < b[j])
i++;
else
j++;
for(i=1;i<=k;i++)
cout<<c[i]<<" ";
return 0;
}
#include <bits/stdc++.h>
ifstream f("bac.txt");
int a[101],b[101],n,i,m,j,k,nr;
int main()
{
f>>n>>m;
f>>a[i];
f>>b[j];
i=j=1;
nr=m;
while (i<=n && j<=m)
if (a[i]<b[j]) i++;
else if(a[i] > b[j]) j++;
else i++,nr--;
cout<<nr;
return 0;
}