Sa se afiseze toate numerele mai mici sau egale decat n ce au suma cifrelor numar prim.
Răspunsuri la întrebare
Răspuns de
1
/* Sa se afiseze toate numerele mai mici sau egale decat n ce au suma cifrelor numar prim.*/
#include <iostream.h>
int sumCif(int n) {
int s=0;
while (n) {
s+=n%10;
n/=10;
}
return s;
}
int estePrim(int n) {
int ok=1, i=2;
if (n<2) return 0;
else if (n==2) return 1;
else while (ok && (i<=n/2)) {
if (n%i==0) ok=0;
i++;
}
return ok;
}
int main() {
int n;
cout<<"n=";
cin>>n;
if (n>=2) for (int i=2; i<=n; i++) {
int s=sumCif(i);
if (estePrim(s)) cout<<" "<<i; }
else cout<<"Dati un numar mai mare decat 2";
return 0;}
#include <iostream.h>
int sumCif(int n) {
int s=0;
while (n) {
s+=n%10;
n/=10;
}
return s;
}
int estePrim(int n) {
int ok=1, i=2;
if (n<2) return 0;
else if (n==2) return 1;
else while (ok && (i<=n/2)) {
if (n%i==0) ok=0;
i++;
}
return ok;
}
int main() {
int n;
cout<<"n=";
cin>>n;
if (n>=2) for (int i=2; i<=n; i++) {
int s=sumCif(i);
if (estePrim(s)) cout<<" "<<i; }
else cout<<"Dati un numar mai mare decat 2";
return 0;}
Anexe:
AntiEaglesDavids:
dap, asa am crezut si eu pentru prima oara
Răspuns de
1
#include<iostream>
using namespace std;
int prim(int n)
{
if(n == 0 || n == 1) return 0;
for(int d=2; d*d<=n; d++)
if(n % d == 0) return 0;
return 1;
}
int s(int n)
{
int sm = 0;
while(n) sm += n % 10, n /= 10;
return sm;
}
int main()
{
int n;
cin >> n;
for(int i=2; i<=n; i++)
prim(s(i)) ? cout << i << ' ' : true;
return 0;
}
using namespace std;
int prim(int n)
{
if(n == 0 || n == 1) return 0;
for(int d=2; d*d<=n; d++)
if(n % d == 0) return 0;
return 1;
}
int s(int n)
{
int sm = 0;
while(n) sm += n % 10, n /= 10;
return sm;
}
int main()
{
int n;
cin >> n;
for(int i=2; i<=n; i++)
prim(s(i)) ? cout << i << ' ' : true;
return 0;
}
http://pastebin.com/WtZLdjcT
Alte întrebări interesante
Matematică,
8 ani în urmă
Matematică,
8 ani în urmă
Limba română,
8 ani în urmă
Matematică,
9 ani în urmă
Limba română,
9 ani în urmă
Limba română,
9 ani în urmă
Matematică,
9 ani în urmă