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.