C: Superprosti brojevi

Teme vezane za console/GUI programiranje u C/C++ jeziku
2 post(ov)a • Stranica: 1/1.

C: Superprosti brojevi

PostPostao/la displayerror » 29 vel 2016, 14:46

Napisati program koji ispisuje sve superproste brojeve u ucitanom intervalu <a,b>.
Broj je superprost ako se odbacivanjem jedne po jedne cifre zdesna dobijaju prosti brojevi.

239 je superprost jer su 239,23,2 prosti.

[EDIT] Ispravka, sad radi:

cpp code
#include <stdio.h>

int prost(int p);
int superprost(int n);
void ispisSuperprostihBrojeva(int a,int b);

// provjera da li je p prost
int prost(int p)
{
int i = 2;
if(p == 1)
return 0;
while(i<p){
if(!(p % i)) return 0;
i = 2*i-1;
}
return 1;
}

// provjera da li je n superprost
int superprost(int n)
{
int temp=n;
int i;
int brojCifara=0;

while(temp != 0)
{
temp=temp/10;
brojCifara++;
}
temp=n;

//ako je broj cifara 1, provjera da li je temp prost
if(brojCifara == 1)
{
if(prost(temp))
return 1;
}

//inace provjera da li su n,n/10,(n/10)/10,... prosti
else
{
while(temp>0)
{
if(prost(temp) == 0)
{
return 0;
}
temp =temp/10;
}
return 1;
}
return 0;
}

//ispis superprostih u intervalu <a,b>
void ispisSuperprostihBrojeva(int a,int b)
{
int i;
for(i=a; i<=b; i++)
{
if(superprost(i))
printf("%d ",i);
}
}

int main()
{
int a,b;
do
{
printf("a = ");
scanf("%d",&a);
}while(a<1);
do
{
printf("b = ");
scanf("%d",&b);
}while(b<1);

//zamjena ako je a>b
if(a > b)
{
int temp=a;
a=b;
b=temp;
}

ispisSuperprostihBrojeva(a,b);

return 0;
}

Re: C: Superprosti brojevi

PostPostao/la nemesis » 01 ožu 2016, 00:36

uradio sam taj zadatak prije par dana bez koristenja funkcija i slicno, samo petlje i uslovi

cpp code
#include<stdio.h>

int main()
{
int a, b, i, j, k, pom, tmp, sp, br;

printf("Unesi a i b: ");
scanf("%d %d", &a, &b);

if(a > b)
{
pom = b;
b = a;
a = pom;
}

for(i = a; i <= b; i++)
{
for(j = 2; j <= i; j++)
{
if(i % j == 0)
break;
}

if(i == j)
{
sp = i;
br = i / 10;

for(k = 2; k <= br; k++)
{
if(br % k == 0)
{
break;
}

}
if(br == k){
printf("%d\n", sp);
}
}
}
return 0;
}


2 post(ov)a • Stranica: 1/1.

Na mreži

Trenutno korisnika/ca: / i 1 gost.