1. Data su dva prirodna broja A i B između 1 i 1000000. Vaš zadatak je da odredite za koliko brojeva od A do B (uključujući A i B) vrijedi da im je suma cifara prost broj.
Testni primjeri:
Ulaz: 1 3 Ulaz: 15 18
Izlaz: 2 Izlaz: 1
Rješenje:
#include <iostream>
#include <cstdlib>
using namespace std;
int main()
{
int a,b,c,p,i,s,z=0,d,j;
asd:cout<<"Unesite interval"<<endl;
cin>>a>>b;
if(a>b){ cout<<"Unjeli ste pogresan interval"<<endl; goto asd;}
for (i=a; i<=b; i++)
{
c=i;
s=0;
p=0;
while(c>0)
{
d=c%10;
s=s+d;
c=c/10;
}
for (j=2; j<=s; j++)
if (s%j==0) p++;
if(p==1) z++;
}
cout<<"Izmedju Vaseg intervala ima "<<z<<" prostih zbirova cifri"<<endl;
system("pause");
return 0;
}
Testni primjeri:
Ulaz: 1 3 Ulaz: 15 18
Izlaz: 2 Izlaz: 1
Rješenje:
#include <iostream>
#include <cstdlib>
using namespace std;
int main()
{
int a,b,c,p,i,s,z=0,d,j;
asd:cout<<"Unesite interval"<<endl;
cin>>a>>b;
if(a>b){ cout<<"Unjeli ste pogresan interval"<<endl; goto asd;}
for (i=a; i<=b; i++)
{
c=i;
s=0;
p=0;
while(c>0)
{
d=c%10;
s=s+d;
c=c/10;
}
for (j=2; j<=s; j++)
if (s%j==0) p++;
if(p==1) z++;
}
cout<<"Izmedju Vaseg intervala ima "<<z<<" prostih zbirova cifri"<<endl;
system("pause");
return 0;
}