Exemple #1
0
void dividers(st *a, unsigned int n) 
{
	int  i,j;
	prost(a,n);
	if(a->s1!=0)
	{
		printf("    %u\n",n);
		printf("    %u\n",1);
		printf("    %u--%u\n",n,1);
		return;
	}
	for(i=1;i<=sqrt(n); i++) 
		if (n%i==0)
		{
			a->mas[a->s]=i;
			a->s++;
			prost(a,i);
			printf("    %u\n", i);		
			if (i!=n/i)
			{
				a->mas[a->s]=n/i;
				a->s++;				
				printf("    %u\n", n/i);
				prost(a, n/i);
			}
		} 
	 for (i=a->s-1;i!=-1;i--)
		for (j=0;j<a->s1;j++)
			if (a->mas[i]%a->mas1[j]==0)
				printf("    %u--%u\n",a->mas[i],a->mas[i]/a->mas1[j]); 
}
Exemple #2
0
int main(){
    int n,i;
    printf("Unesite broj: ");
    scanf("%d", &n);
    printf("Ovo su prosti brojevi do %d : \n", n);
    for(i=3;i<=n;i++)if(prost(i)==1)printf("%d\n",i);
    return 0;
}
Exemple #3
0
// функција која го наоѓа следниот поголем прост број од внесениот
int najdi_sleden_prost_broj(int n)
{
    if (prost(n + 1, 2)) // ако следниот број е прост, врати го
    {
        return n + 1;
    }
    else
    {
        // ако не, зголеми го за еден и пробај повторно
        // сѐ додека не наидеш на прост број
        return najdi_sleden_prost_broj(n + 1);
    }
}
Exemple #4
0
// функција која рекурзивно проверува дали некој броје прост
int prost(int n, int i)
{
    if (n % i == 0) // ако е деллив со i тогаш е прост (има делители различни од 1)
    {
        return 0;
    }
    else if (i * i > n) // ако сме стигнале до коренот на бројот
    {
        return 1;       // тогаш бројот е прост и врати True
    }
    else
    {
        return prost(n, i + 1); // во спротивно зголемувај го i зa 1
    }
}