Hirdetés
- hmzs: Fujitsu Futro S920 csúcsra járatva
- D1Rect: Nagy "hülyétkapokazapróktól" topik
- Luck Dragon: Asszociációs játék. :)
- gerner1
- gban: Ingyen kellene, de tegnapra
- sziku69: Fűzzük össze a szavakat :)
- sziku69: Szólánc.
- hcl: Google Drive csatolása szerveren / Nextcloud integráció
- Zolii21: 2HB Informatika - Ernő vélemények
- Elektromos rásegítésű kerékpárok
Új hozzászólás Aktív témák
-
Sk8erPeter
nagyúr
Na, közben rohangásztam, meg kajáltam, de végül sikerült megírni, jól telepakoltam neked kommentekkel, hogy értsd, mit miért csináltam.

#include <stdio.h>
#include <math.h> /* gyökvonás miatt */
#include <ctype.h> /* isdigit() miatt */
#include <stdlib.h> /* atoi miatt */
int prime_or_not(int number); /* deklaráljuk, hogy van ilyen fv.-ünk. Most nem a feladatban meghatározott legrosszabb algoritmust fogom használni. */
int main(int argc, char *argv[])
{
int min, max, temp;
if(argc<3){
/* hibaüzenetek, kilépés hibával */
fputs("Tul keves a parameter!\n", stderr);
return -1;
}
if( isdigit(*argv[1]) )
min = atoi(argv[1]);
else{
fputs("Az elso parameter nem szam!\n", stderr);
return -1;
}
if( isdigit(*argv[2]) )
max = atoi(argv[2]);
else{
fputs("A masodik parameter nem szam!\n", stderr);
return -1;
}
if(min>max){ /* ezt egy fv.-be is lehetne írni [swap(min,max);], most nem tököltem vele */
temp=min; /* átmenetileg eltároljuk min értékét, aztán átadjuk max-nak */
min=max;
max=temp;
}
printf("A %d es %d kozotti primszamok:\n",min,max);
/* jöhet a prímtesztelés, prímek kiírása */
for(;min<=max;++min)
if(prime_or_not(min))
printf("%d\n",min);
return 0; /* VÉGE */
}
/***** Prímtesztelő függvény *****/
int prime_or_not(int number){
int i, divider, max;
if(number==0 || number==1) return 0; /* ezek nem prímek! */
max=(int)(sqrt(number)+1); /* "Csak a p≤(négyzetgyök n) -ig szükséges próbálkozni." lásd pl. Wikipédia. Itt: cast-olás. */
for(divider=1,i=2;(i<max && divider<2);++i)
/* divider<2-nek az az oka, hogy meghatároztuk a max-ot, és az semmiképp nem érheti el magát a számot, így jelen esetben önmaga nem lesz osztója (mint a szabály szerint), így a divider 2-re se mehet fel a prímeknél sem */
{
if(number%i==0) /* ha maradék nélkül megvan a számban az i aktuális értéke */
divider=i;
}
if(divider>1) return 0; /* nem prím */
return 1; /*egyébként prím */
}
Új hozzászólás Aktív témák
● olvasd el a téma összefoglalót!
● ha kódot szúrsz be, használd a PROGRAMKÓD formázási funkciót!
- Milyen TV-t vegyek?
- Projektor topic
- Okosóra és okoskiegészítő topik
- Asztalos klub
- Spórolós topik
- Audi, Cupra, Seat, Skoda, Volkswagen topik
- Hobby elektronika
- MacBook Neo vs MacBook Air – Megéri a félár?
- hmzs: Fujitsu Futro S920 csúcsra járatva
- Rácuppan a Steam eszközökre a Unity
- További aktív témák...
- LeX1 Yoga Gen7 2-in-1 27% 14" FHD+ IPS érintő i7-1270P 32GB 1TB NVMe aktív toll ujjlolv IR kam gar
- 27% - Samsung ViewFinity S7 S27D700EAU IPS Monitor! 3840x2160 / 60Hz / 5ms
- 27% - Samsung S27D360GAU VA Monitor! 100Hz / 1920x1080 / 4ms
- 27% - Philips Evnia 27M2N3200S IPS Monitor! 1920x1080 / 180Hz / 0.5ms / FreeSync
- 27% - LG 27MK600M-B IPS Monitor! 1920x1080 / 75Hz / 5ms / FreeSync
- AKCIÓ! HP EliteBook x360 830 G7 i5-10210U 16GB 512GB 1 év garancia
- Apple iPhone 13 / 128GB / Kártyafüggetlen / 12Hó garancia / Akku:100%
- ÁRGARANCIA!Épített KomPhone Ryzen 7 5700X 16/32/64GB RAM RTX 3060 12GB GAMER PC termékbeszámítással
- Xiaomi Watch S4,Újszerű,Dobozaval,12 hónap garanciával
- 164 - Lenovo Legion Pro 7 (16IRX9H) - Intel Core i9-14900HX, RTX 4090
Állásajánlatok
Cég: Laptopműhely Bt.
Város: Budapest

