- Szerkesztett és makrofotók mobillal
- iPhone topik
- Homokféreggel is pózolhatna a OnePlus 15
- Yettel topik
- Apple iPhone Air - almacsutka
- Apple iPhone 17 Pro Max – fennsík
- One mobilszolgáltatások
- Huawei Watch GT 6 és GT 6 Pro duplateszt
- Huawei P9 Lite (2017) - nevezzük nevén
- Android alkalmazások - szoftver kibeszélő topik
Ú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!
- HiFi műszaki szemmel - sztereó hangrendszerek
- Kettő együtt: Radeon RX 9070 és 9070 XT tesztje
- Azonnali VGA-s kérdések órája
- iPad topik
- Luck Dragon: Asszociációs játék. :)
- Küszöbön az androidos PC-k
- Audi, Cupra, Seat, Skoda, Volkswagen topik
- Szerkesztett és makrofotók mobillal
- Nintendo Switch
- iPhone topik
- További aktív témák...
- Bomba ár! Acer Aspire ES1 - AMD A8 I 8GB I 180GB SSD I 15,6" HD I HDMI I Cam I W10 I Garancia!
- Acer Predator Helios 300 - PH315-51
- Bomba Ár! Fujitsu LifeBook S762 - i5-3GEN I 8GB I 320GB I DVDRW I 13,3" HD I DP I W10 I Garancia!
- Bomba ár! Dell Latitude E6540 - i7-4GEN I 8GB I 256SSD I Radeon I 15,6" FHD I Cam I W10 I Garancia!
- Bomba ár! Dell Latitude E6510 - i7 I 4GB I 250GB I DVDRW I Nvidia I 15,6" HD+ I Cam I W10 I Gari!
- SzinteÚJ! HP Elitebook 860 G9 i7-1255U 32GB 1000GB 16" FHD+ Gar.: 1 év
- Beszámítás! Apple iPad Pro 11 2024 1TB WiFi + Cellular tablet garanciával hibátlan működéssel
- GYÖNYÖRŰ iPhone 12 Pro Max 256GB Blue -1 ÉV GARANCIA - Kártyafüggetlen, MS2116, 100% Akkumulátor
- 143 - Lenovo LOQ (15IRH8) - Intel Core i5-13500H, RTX 4060
- HIBÁTLAN iPhone 14 128GB Purple -1 ÉV GARANCIA - Kártyafüggetlen, MS3530
Állásajánlatok
Cég: Laptopműhely Bt.
Város: Budapest
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest