Pentru n (n<=100) numere întregi x cu cel mult 4 cifre fiecare citite de la tastatură să se determine:
a. Numărul de numere prime din şirul valorilor citite
b. Numărul de numere care reprezintă o putere a lui 3
c. Numărul de numere a căror invers reprezintă un număr prim
Răspunsuri la întrebare
Răspuns de
1
#include <bits/stdc++.h>
using namespace std;
long long n, i, x, k, s, kinv, j, nro, nrp, nr3;
bool prim, primk;
int main()
{
cin >> n;
for(i = 1 ; i <= n ; i ++)
{
cin >> x;
// Punctul a)
prim = true;
for (j = 2; j * j <= x; j ++)
if(x % j == 0)
{
prim = false;
break;
}
if(x == 1 || x == 0) prim = false;
if( prim ) nrp ++;
// Punctul b;
k = x;
while(k % 3 == 0)
k = k / 3;
if(k == 1) nr3 ++;
// Punctul c)
k = x;
kinv = 0;
while( k != 0)
{
kinv = kinv * 10 + k % 10;
k = k / 10;
}
primk = true;
for (j = 2; j * j <= kinv ; j++)
if(kinv % j == 0)
{
primk = false;
break;
}
if(kinv == 1 || kinv == 0) prim = false;
if( primk ) nro ++;
}
cout << nrp << "\n";
cout << nr3 << "\n";
cout << nro;
return 0;
}
using namespace std;
long long n, i, x, k, s, kinv, j, nro, nrp, nr3;
bool prim, primk;
int main()
{
cin >> n;
for(i = 1 ; i <= n ; i ++)
{
cin >> x;
// Punctul a)
prim = true;
for (j = 2; j * j <= x; j ++)
if(x % j == 0)
{
prim = false;
break;
}
if(x == 1 || x == 0) prim = false;
if( prim ) nrp ++;
// Punctul b;
k = x;
while(k % 3 == 0)
k = k / 3;
if(k == 1) nr3 ++;
// Punctul c)
k = x;
kinv = 0;
while( k != 0)
{
kinv = kinv * 10 + k % 10;
k = k / 10;
}
primk = true;
for (j = 2; j * j <= kinv ; j++)
if(kinv % j == 0)
{
primk = false;
break;
}
if(kinv == 1 || kinv == 0) prim = false;
if( primk ) nro ++;
}
cout << nrp << "\n";
cout << nr3 << "\n";
cout << nro;
return 0;
}
Alte întrebări interesante
Limba română,
8 ani în urmă
Matematică,
9 ani în urmă
Ed. tehnologică,
9 ani în urmă
Limba română,
9 ani în urmă
Limba română,
9 ani în urmă