Kodas: http://hastebin.com/ijuwulolay.vala
duom.txt failas:
9
15
3
18
81
Pagal viską ties skaičium 3 turėtu įšvesti į ekraną žodį Neturi ( nes skaičius yra pirminis ) tačiau nesuveikia, nerandu kame bėdos
Norėdamas rašyti pranešimą privalai prisijungti arba užsiregistruoti!
1
Bebras prieš 9 metus
bool pirminis(int n)
{
int dalikliuKiekis = 0;
for(int i=1; i < n; i++)
{
if (n % i == 0)
{
dalikliuKiekis++;
}
}
if(dalikliuKiekis < 2)
{
return true;
}
else
{
return false;
}
dalikliuKiekis = 0;
}
Bėda čia:
if(dalikliuKiekis < 2)
Visi skaičiai išskyrus vienetą, turi bent du daliklius, t.y. vienetą ir save patį. Tas pats 3
jis dalinasi iš 3
ir iš 1
. Todėl tikrink ar dalikliu kiekis mažesnis ar lygus dviems.
1
GReddy prieš 9 metus
Problema radau. Bėda buvo ne tikrinime, o if;ą reikėjo i while cikla įmesti. Bet ačiū už bandymą padėti