Zmaga.com | Zmagajmo z znanjem
 
Zmaga.com
  Kliknite tukaj, da si ogledate profil, kot ga vidijo drugi

Ali je število praštevilo

 
  Delite vsebino na Twitterju   Delite vsebino na Facebooku
 
  V Microsoft Visual C++ Express bomo napisali enostavno funkcijo, ki bo preverila, ali je določeno število praštevilo.
 
 
1
 
 
  Praštevilo je naravno število, če ima točno dva pozitivna delitelja, število 1 in pa samega sebe.

Da napišemo program za preverjanje praštevil, najprej preko menija File -> New -> Project ustvarimo nov projekt.


 
 
2
 
 
  Izberemo Win32 Console Application.
 
 
3
 
 
  Projektu določimo še poljubno ime in potrdimo s klikom na gumb OK.

Mojemu projektu sem izbral ime AliPrastevilo.
 
 
4
 
 
  Pod vrhom kode za vrstico #include prilepimo funkcijo, ki bo preverjala praštevila:

bool aliPrastevilo(int x) {
  if (x==1) return false;
  bool prastevilo = true;
  for (int i = 2; i < x; i++)
  {
    if (x % i == 0) prastevilo = false;
    break;
  }
  return prastevilo;
}

Še razlaga:

bool aliPrastevilo(int x) {
Funkcija sprejeme argument x, ki predstavlja celo število, vrača pa boolean vrednost true ali false.

if (x==1) return false;
Ta vrstica predstavlja izjemo, saj število ena ni praštevilo, ker ima samo enega delitelja.

bool prastevilo = true;
Na začetku privzamemo, da je število res praštevilo. V kolikor bomo ugotovili, da ima delitelja, bomo to vrednost nastavili na false.

for (int i = 2; i < x; i++)
V zanki se sprehodimo čez vsa števila, ki so manjša od obstoječega števila.

if (x % i == 0) prastevilo = false;
break;
Z operatorjem % preverjamo ostanek pri deljenju. Če je ostanek nič, potem je število deljivo in zato vrednost spremenljivke prastevilo nastavimo na false.

return prastevilo;
Na koncu vrnemo rezultat preverjanja, ki je true ali false.

 
 
 
5
 
 
  Sedaj bomo v glavni funkciji programa uporabili našo kodo.

V funkcijo _tmain dodamo kodo:

    if (aliPrastevilo(4))
        printf("Je prastevilo");
    else
        printf("Ni prastevilo");

    std::cin.get();

V našite testni kodi kličemo funkcijo aliPrastevilo s parametrom 4, lahko pa ga seveda zamenjate s poljubnim številom.

Na podlagi vrnjenega rezultata funkcije z uporabo printf funkcije izpišemo rezultat.

Ker se program takoj po koncu izvajanja zapre, dodamo na koncu še vrstico 
std::cin.get(), s katero programu naložimo, da počaka na vnos uporabnika.


 
 
6
 
 
  Ker smo uporabili funkcijo std::cin, moramo na vrhu kode vključiti še knjižnico

#include <iostream>

v kateri se nahaja funkcija cin.
 
 
7
 
 
  Program sedaj zaženemo ...
 
 
8
 
 
  .. in že lahko vidimo izpis, ali je naše izbrano praštevilo ali ne.
 
 
Komentiraj
 
 
 
 
 
22.5.2012, 20:27
Za bolj optimizirano rešitev je dovolj, če gremo z zanko do korena iz x:
for (int i = 2; i <= (int)sqrt(x); i++)


spremenil: iceburg (23.5.2012 ob 13.58.54)
 
 
 
 
20.7.2015, 21:36
Kaj pa če želiš vpisati kodi v program ne v kodo (Da ti napiše vnesite število)
 
Prijava in registracija
 
 
 
 
 
 
  Zmaga.com ponuja brezplačno in razumljivo učenje računalniških programov, vas na enkraten način spozna z različnimi svetovnimi jeziki, s podrobno obrazloženimi recepti prikaže čare kulinarike in vam prežene strahove pred domačimi opravili.
 
  Poleg tega lahko prebirate poučne članke, ki so namenjene širjenju naše splošne razgledanosti ter preverite svoje znanje z priljubljenim in enostavnim sistemom za preverjanje znanja. Če med vsebinami, ki se dodajajo vsak dan, ne najdete želenega znanja, je za vaša vprašanja na voljo dobro obiskan forum, kjer lahko tudi aktivno sodelujete. V primeru, da bi radi svoje praktično znanje delili z ostalimi, pa to lahko storite preko preprostega vmesnika za dodajanje vsebin. Zmagajte z znanjem na Zmaga.com!