Documente Academic
Documente Profesional
Documente Cultură
Se dă o listă cu numere naturale. Să se determine numerele naturale nenule cu cel mult patru
cifre care nu apar în lista dată.
#include <fstream>
using namespace std;
ofstream fout("numere8.out");
ifstream fin("numere8.in");
int v[10005], x;
int main()
{
while(fin >> x) v[x] = 1;
for(int i=10000; i--;)
if(!v[i]) fout << i << ' ';
return 0;
}
Exemplu:
Intrare: 107 4 5 8 1 6 9
Ieșire: 9999 9998 ... 108 106 105 ... 10 7 3 2
#244
#include <bits/stdc++.h>
using namespace std;
ifstream fin("cifreord.in");
ofstream fout("cifreord.out");
int n,a[10],x;
int main ()
{
fin >> n;
for(int i=1;i<=n;i++)
{
fin >> x;
a[x]++;
}
n=0;
for(int i=0;i<10;i++)
if(a[i]!=0)
for(int j=1;j<=a[i];j++)
{
if(n==20)
n=0, fout << endl;
fout << i << " ", n++;
}
return 0;
}
Exemplu:
Intrare:
25
11273515
36780105
6382
97957
Ieșirea:
0 0 1 1 1 1 2 2 3 3 3 5 5 5 5 6 6 7 7 7
78899
#529
Se dau n numere naturale. Afișați cifrele care apar în scrierea zecimală a acestor numere, în
ordinea crescătoare a numărului de apariții. Dacă două cifre au același număr de apariții, se
va afișa mai întâi cifra mai mică.
#include <iostream>
#define INF 2147000000
using namespace std;
int w[10],n,x,i,j,cif,p,minn=INF;
bool ok;
int main()
{
cin>>n;
for(i=1;i<=n;i++)
{
cin>>x;
while(x)
{
cif=x%10;
x=x/10;
w[cif]=w[cif]+1;
}
}
do
{
ok=true;
minn=INF;
for(i=0;i<=9;i++)
if((w[i]<minn)&&(w[i])) minn=w[i], p=i, ok=false;
w[p]=INF;
if(!ok) cout<<p<<" ";
} while(!ok);
return 0;
}
Exemplu:
Intrare:
5
124 229 1322 4 534
Ieșire:
591342
#187
Să se scrie un program care citeşte cel mult 1000000 de numere naturale din intervalul
închis [0,9] şi determină cel mai mare număr prim citit şi numărul său de apariţii.
#include <iostream>
using namespace std;
int main(){ int n , x; cin >> n;
int max = -1, exp = 0;
for(int i = 1 ; i <= n ; ++i)
{
cin >> x;
int d = 2, p;
while(x > 1)
{
p = 0;
while(x % d == 0)
p ++, x /= d;
if(p)
{
if(d > max)
max = d, exp = p;
else
if(d == max)
exp += p;
}
d ++;
if(x > 1 && d * d > x)
d = x;
}
}
cout << max << " " << exp;
return 0;
}
Exemplu:
Intrare:
589195
Ieșire:
52
#247
Exemplu:
Intrare:
301941 81912 83392
776996 431446
Ieșire:
99999887766644443333
22111110