1.
#include <iostream>
using namespace std;
int v[10];
int main()
{
int i, n, c;
cout << "n = "; cin >> n;
while(n != 0)
{
c = n % 10;
v[c]++;
n = n / 10;
}
for(i = 0; i < 10; i++)
cout << v[i] << " cifre de " << i << endl;
system("pause>nul");
return 0;
}
3.
#include <iostream>
using namespace std;
int main()
{
int a, b, c_a, c_b, x, v[10] = {0};
cout << "a = "; cin >> a;
cout << "b = "; cin >> b;
if(a == b != 0)
{
cout << "0";
system("pause>nul");
return 0;
}
while(a)
{
c_a = a % 10;
x = b;
while(x)
{
c_b = x % 10;
if(c_b == c_a) v[c_b] = c_b;
x = x / 10;
}
a = a / 10;
}
cout << "Numerele a si b au urmatoarele cifre in comun: " << endl;
for(int i = 0; i < 10; i++)
if(v[i])
cout << v[i] << " ";
system("pause>nul");
return 0;
}
4.
#include <iostream>
using namespace std;
int main()
{
int n, m, x = 0, j = 1, k, s;
cout << "n = "; cin >> n;
cout << "m = "; cin >> m;
while(x != n)
{
s = 0;
k = j;
while(k)
{
s += k % 10;
k = k / 10;
}
if(s <= m)
{
cout << j << " ";
x++;
}
j++;
}
system("pause>nul");
return 0;
}
2-ul e putin mai complicat, iar la 5 nu am inteles.
EDIT: Uite aici si 2-ul:
#include <iostream>
#include <cmath>
using namespace std;
int main()
{
int x, n, c, min, k(1), m(0), poz, p;
cout << "n = "; cin >> n;
x = n;
min = x % 10;
x = x / 10;
while(x)
{
c = x % 10;
if(min >= c)
{
min = c;
m = k;
}
x = x / 10;
k++;
}
poz = m;
p = pow(static_cast<double>(10), static_cast<double>(poz));
n = n % p + p * (n / (p * 10));
cout << n << endl;
system("pause>nul");
return 0;
}
5. L-am facut pentru cel mai mic numar cu proprietatea ca n^n (n la puterea n) are n cifre.
#include <iostream>
#include <cmath>
using namespace std;
int main()
{
int n, p, k(0);
n = 1;
do
{
n++;
k = 0;
p = pow(static_cast<double>(n), static_cast<double>(n));
while(p)
{
++k;
p = p / 10;
}
}
while(k != n);
cout << n << endl;
system("pause>nul");
return 0;
}