Segítene valaki megoldani pár könnyebb házi feladatot Java-ban?
Nyilván sokaknak nem fog tetszeni a kérés, de nem kioktatásra van szükségem, hanem segítségre. Ez a tárgy sajnos nehezebben megy, mára pedig nem maradna időm végig csinálni a többi mellet.
Az említett feladatok:
Első - A program ciklussal írja ki az első 100 feletti prímszámot, hány hárommal osztható kétjegyű szám van, illetve a 256pozitív osztóit.
Második - A program írjon ki egy véletlenszerűen előállított hatoslottó szelvényt.
Ennyi lenne. A segítséget köszönöm.
![*](http://static.gyakorikerdesek.hu/p/vsz2.png)
![*](http://static.gyakorikerdesek.hu/p/vsz2.png)
![*](http://static.gyakorikerdesek.hu/p/vsz2.png)
![*](http://static.gyakorikerdesek.hu/p/vsz2.png)
![*](http://static.gyakorikerdesek.hu/p/vsz0.png)
![*](http://static.gyakorikerdesek.hu/p/vsz2.png)
![*](http://static.gyakorikerdesek.hu/p/vsz2.png)
![*](http://static.gyakorikerdesek.hu/p/vsz2.png)
![*](http://static.gyakorikerdesek.hu/p/vsz2.png)
![*](http://static.gyakorikerdesek.hu/p/vsz1.png)
Első 100 feletti prím: elindulsz 101-től és addig mész tovább, amíg prímet nem találsz:
for(int i = 101; !prime(i); i++);
// a prime() függvényt ki tudod keresni akár pszeudókódban, akár Java-ban, GYK-n is előfordul havi rendszerességgel
Hány 3-al osztható 2jegyű van: ezt is ciklussal kell? Ez egy sima megszámlálás tétel, a 3-al való oszthatóság pedig: n%3==0
256 pozitív osztói: szintén kikereshető, de meg is oldható kis gondolkodással. Indítasz egy ciklust 1-től (2-től is elég persze) a szám feléig és megvizsgálod, osztható-e vele a 256.
Hatoslottó:
Nem tudom hány szám van rajta, legyen 1..N tartomány. Én csinálnék belőle egy tömböt, megkeverném és kivenném az első hatot. A keverés annyi, hogy végigmész a tömbön és az aktuális elemet kicseréled egy random másikkal.
Másik megoldás az, hogy generálsz 6 számot ciklussal, de úgy, hogy közben egy belső ciklussal megnézed, nem volt-e már az a szám.
Mindezekből a prímvizsgálat a legbonyolultabb, de mondom, simán kikereshető.
Ejj... általában nem szeretem ezeket a kérdéseket... De ma legyen neked gyereknap :D :
public class App1 {
public static boolean isPrime(int n) {
if (n%2==0) return false;
for(int i=3;i*i<=n;i+=2) {
if(n%i==0)
return false;
}
return true;
}
public static void main(String[] args) {
int szam = 0;
while(!isPrime(szam) || szam <= 100) {
szam++;
}
System.out.println("Az első 100 fölötti prím: " + szam);
int harommalOszt = 0;
for(int i = 10; i < 100; i++) {
if (i % 3 == 0) harommalOszt++;
}
System.out.println(harommalOszt + " db 2 jegyű szám osztható 3-mal");
System.out.println("256 poz. osztói: ");
for (int i = 1; i <= 128; i++) {
if (256 % i == 0) System.out.println(i);
}
}
}
(mindjárt küldöm a másodikat is)
![*](http://static.gyakorikerdesek.hu/p/vsz2.png)
![*](http://static.gyakorikerdesek.hu/p/vsz2.png)
![*](http://static.gyakorikerdesek.hu/p/vsz2.png)
![*](http://static.gyakorikerdesek.hu/p/vsz1.png)
![*](http://static.gyakorikerdesek.hu/p/vsz0.png)
Az első feladatot ingyen megoldom neked:
while(true) {
System.out.print(101);
break;
}
Itt a második is (ArrayListekkel könnyebb lett volna, könnyebb ellenőrizni az ismétlődést) kicsit gyökér módszerrel, de működik:
import java.util.Random;
public class App2 {
static int getRandomNumb(Random rand) {
return rand.nextInt(44) + 1;
}
public static void main(String[] args) {
Random rand = new Random();
int[] szamok = new int[6];
for (int i = 0; i < 6; i++) {
boolean have = true;
int szam = -1;
while (have == true) {
szam = getRandomNumb(rand);
boolean van = false;
for (int j = 0; j < i; j++) {
if (szam == szamok[j]) van = true;
}
if(!van) have = false;
}
szamok[i] = szam;
System.out.print(szamok[i] + " ");
}
}
}
És még utólag: húzz bele, nem olyan rossz ez a programozás :)
Köszönöm a segítséget!
Ui: Wampa te pedig egy gyökér vagy.
![*](http://static.gyakorikerdesek.hu/p/vsz2.png)
![*](http://static.gyakorikerdesek.hu/p/vsz2.png)
![*](http://static.gyakorikerdesek.hu/p/vsz2.png)
![*](http://static.gyakorikerdesek.hu/p/vsz1.png)
![*](http://static.gyakorikerdesek.hu/p/vsz0.png)
![*](http://static.gyakorikerdesek.hu/p/vsz2.png)
![*](http://static.gyakorikerdesek.hu/p/vsz2.png)
![*](http://static.gyakorikerdesek.hu/p/vsz2.png)
![*](http://static.gyakorikerdesek.hu/p/vsz0.png)
![*](http://static.gyakorikerdesek.hu/p/vsz0.png)
Ez nem segítség, hanem tkp. megoldattad ingyen mással a saját szakmai jellegű feladatodat (ez nem olyan, az oldalon egyébként nagy számban előforduló kérdés, hogy "Mit gondolsz erről vagy arról?").
Már pusztán ezzel a ténnyel kiállítottál magadról egy szegénységi bizonyítványt, de ezt megfejelted azzal, hogy azt írtad egy olyan embernek, aki erre - teljesen érthető okokból - ingyen nem volt hajlandó, hogy "gyökér".
Ezek után kíváncsi vagyok, hogy magadat hogyan jellemeznéd? :)
![*](http://static.gyakorikerdesek.hu/p/vsz2.png)
![*](http://static.gyakorikerdesek.hu/p/vsz2.png)
![*](http://static.gyakorikerdesek.hu/p/vsz2.png)
![*](http://static.gyakorikerdesek.hu/p/vsz1.png)
![*](http://static.gyakorikerdesek.hu/p/vsz0.png)
Kapcsolódó kérdések:
Minden jog fenntartva © 2025, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!