programozas
  • kl24h
    #283
    #include <stdio.h>
    #include <conio.h>
    #include <math.h>


    float Mod(int i, int j)
    {
    return i - j*int(i/j);
    }

    float Prim(int n)
    {
    int z = 1;
    int a[];
    if (n<0) {
    printf("A beirt szam negativ!!!\n"); printf("Irj nagyobbat vagy egyenlot 2-vel!!!\n");
    }
    if (n>=0 && n<2) {
    printf("A beirt szam kisebb mint 2!!!\n"); printf("Irj nagyobbat!!!\n");
    }
    if (n>=2) {
    printf("A primszamok egesz %i-ig:\n",n);
    printf("\n");
    printf("%i",2);
    for (int i = 2; i <= n; i++) {
    int j = 2;
    while (j <= int(sqrt(i))){
    if (Mod(i,j)==0) break;
    else j++;
    }
    if (Mod(i,j)!=0) {
    z++;
    a[z] = i;
    printf(",%i",a[z]);
    }
    }
    printf("\n");
    printf("%i\n", z);
    }
    }
    int main()
    {
    int n;
    newtry:printf("n = ", n); scanf("%i",&n);
    Prim(n);
    goto newtry;
    getch();
    }

    Dev C ++ használtam, a prímszámok kiírása "n"-ig az "if (n>=2) {"-ben van, a többi csak azért van, hogy ne blokkoljon a program, ha esetleg elírja az ember.