Kezdőoldal » Számítástechnika » Programozás » Hogy lenne érdemes megcsinálni...

Hogy lenne érdemes megcsinálni ezt a feladatot?

Figyelt kérdés

Adott egy szám N.

1 <= N <= 10^9.


Két műveletet végezhetünk ezen a számon:

- szorzás 2-vel

- osztás 6-tal

Az a kérdés, hogy minimum hány lépésből csökkenthetjük 1-re a számot.

Ha nem lehetséges, akkor -1 legyen az eredmény.


Ezt valami backtracking megközelítéssel kéne megoldani?

Ha igen, akkor mikor kell megállni pl. a 2-vel való szorzásnál, hogy ne fussak túlcsordulásba de mégis eljussak az eredményhez?



2020. jún. 30. 07:56
1 2 3
 1/24 anonim ***** válasza:

Lehet még nekem van nagyon reggel és félreértem, de szerintem a feldat annyi, hogy:

N -t osztod hattal, amíg osztható maradék nélkül. Ha nem, akkor beszorzod kettővel, majd megint megpróbálod osztani.

Ezeket a lépéseket kell megszámolni.


Az pedig hogy kiszámolható-e, azt megtudod abból hogy az adott szám, előállítható-e a 6 prímtényezőiből.

Azt hiszem.

2020. jún. 30. 09:17
Hasznos számodra ez a válasz?
 2/24 anonim ***** válasza:

várj. eszembe jutott egy egyszerűbb megoldás.

bontsd fel prímtényezőkre.

ha 2-es és 3-as számokból előállítáható akkor kell tovább foglalkozni vele.


megszámolod hány 3-ast kaptál és hány 2-est.

pl:2916

2 2 3 3 3 3 3 3

(x db 2-es és y db 3-as)

akkor y*2-x lépés.


szerintem ez kevesebb lépés/feltétel vizsgálat

2020. jún. 30. 09:39
Hasznos számodra ez a válasz?
 3/24 anonim ***** válasza:
27%

Ezt a feladatot, szvsz hibásan írtad ki.


Így, ezt értelmezve, ha n = 1 akkor 0 művelettel meg van oldva a feladat. Ha n > 1 akkor a műveletszám annak lineáris függvénye, hogy mennyire esik közel 10^9-hez.

2020. jún. 30. 09:41
Hasznos számodra ez a válasz?
 4/24 anonim ***** válasza:
Amúgy, valóban a törzstényezőkre bontás lesz a megoldás. Sejthetően, ahogy 2. válaszadó is írja, de ez, így kiírva továbbra is értelmetlen. Legalábbis számomra.
2020. jún. 30. 09:45
Hasznos számodra ez a válasz?
 5/24 A kérdező kommentje:

Hármas, nem igazán értem, hogy mit mondasz.

Ha N == 1, akkor valóban 0 a megoldás.

Ha N > 1, akkor meg valóban növekedni fog a műveletszám N növekedésével. Ez mind igaz.

De az a kérdés, hogy adott N esetén konkrétan mennyi a minimális műveletszám, amivel N 1-re csökkenthető.

2020. jún. 30. 09:49
 6/24 anonim ***** válasza:
Én úgy szimatolom, hogy ennek a feladatnak a célja a törzstényezőkre bontás, mint művelet megismertetése. Ha így, akkor ilyen feladat csak n > 1 számokon értelmezhető, te viszont n >= 1-et írtál.
2020. jún. 30. 09:57
Hasznos számodra ez a válasz?
 7/24 A kérdező kommentje:

Nem tudom, hogy a törzstényezőkre bontás-e a feladat célja, de nem írtam el, így van kiírva a feladat ez copy+paste konkrétan:

1 <= N <= 10^9

De amúgy ha ez probléma, akkor ez nem csak egy egyszerű if vizsgálat?

if (N == 1) return 0 else { logika 1-től nagyobb N esetére }


Egyébként köszönöm az eddigi válaszokat, már el tudok indulni legalább valamerre.

2020. jún. 30. 10:02
 8/24 anonim ***** válasza:
Hát, nem tudom. Az intervallum nagysága és a feladat milyensége azt engedi sejtetni, amit eddig írtam. 1-nek viszont nincsenek törzstényezői. A linearitást felejtsd el.
2020. jún. 30. 10:12
Hasznos számodra ez a válasz?
 9/24 anonim ***** válasza:

"Az pedig hogy kiszámolható-e, azt megtudod abból hogy az adott szám, előállítható-e a 6 prímtényezőiből."


Ellenpélda: 9.


Lépések: 9->18->36->6->1

2020. jún. 30. 10:20
Hasznos számodra ez a válasz?
 10/24 anonim ***** válasza:

#9 Pontatlanul fogalmaztam.

a #2 válaszban kicsit jobban kifejtettem mire gondolok.


pontosítva: legalább 1db 3-asnak kell lennie a prímtényezők között és csak 2-es és 3-as lehet közöttük.


viszont a számítás ott is stimmel.

3*3 = 9

Tehát y*2-x (lásd #2) = 4 lépés

2020. jún. 30. 10:29
Hasznos számodra ez a válasz?
1 2 3

Kapcsolódó kérdések:





Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu

A weboldalon megjelenő anyagok nem minősülnek szerkesztői tartalomnak, előzetes ellenőrzésen nem esnek át, az üzemeltető véleményét nem tükrözik.
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!