Žaidimai visiems
Siūlome vaikinams
Siūlome merginoms
nematomas dramblys,
roblox,
vulkaniniai,
okeanija,
car tar,
dziedas,
pexion,
makita,
vimeo,
kolosas,
daugiau rezultatų...
Skelbimo paieška
Paskutinės paieškos
Informacijos paieška
Paskutinės paieškos
Tauragės g., Vainuto mstl., Šilutės r. sav.,
Tvenkinio g., Vainuto mstl., Šilutės r. sav.,
Žalioji g., Vainuto mstl., Šilutės r. sav.,
Atgimimo g., Vilkyčių k., Šilutės r. sav.,
Klaipėdos g., Vilkyčių k., Šilutės r. sav.,
Jei kilo klausimų, turi pastabų ar pasiūlymų, rašyk forumas@dr.lt.
| | 2015.04.10 19:52 |
|
|
Žiaigis
Pradedantysis
|
Šachmatų išradėjas iš valdovo paprašė tokio atlygio: ant pirmo šachmatų lentos langelio padėti vieną grūdą, ant antrojo - du, ant trečiojo - keturis ir t.t., vis dvigubinant, kol pasibaigs langeliai. Kiek grūdų gaus šachmatų išradėjas? Šachmatų lentoje yra 64 langeliai.
Atsakymas:
18446744073709551616 grūdų.
Kokie turėtų būti veiksmai? Nelabai suprantu uždavinius su ciklais :(
|
|
| | 2015.04.10 20:53 |
|
|
mezmerize
Didmeistris
|
64! va tau ir atsakymas visas uzdavinio sprendimas
|
|
| | 2015.04.10 21:51 |
|
|
Žiaigis
Pradedantysis
|
mezmerize rašė:
64! va tau ir atsakymas visas uzdavinio sprendimas
Nežinau, ką tu čia norėjai tuo parodyti, bet aš klausiu žmonių, kurie supranta ir gali padėti :)
|
|
| | 2015.04.10 22:43 |
|
|
GnI
Patyręs
|
Žiaigis rašė:
Šachmatų išradėjas iš valdovo paprašė tokio atlygio: ant pirmo šachmatų lentos langelio padėti vieną grūdą, ant antrojo - du, ant trečiojo - keturis ir t.t., vis dvigubinant, kol pasibaigs langeliai. Kiek grūdų gaus
šachmatų išradėjas? Šachmatų lentoje yra 64 langeliai.
Atsakymas:
18446744073709551616 grūdų.
Kokie turėtų būti veiksmai? Nelabai suprantu uždavinius su ciklais :(
Techniškai žiūrint, jame ciklų ir nereikia, nes tai yra
elementari geometrinės progresijos suma (pirmų 64 elementų), tai yra formulė tam gauti.
Bet, jeigu nori su ciklais - labai paprastai - yra keli būdai:
1) Suki ciklą 64 kartus, kuriame viename kintamajame kaupi galutinę sumą (atsakymą), kai kitame saugai einamąjį elementą, kurį vis
daugini iš 2 kiekvienoj iteracijoj.
2) Suki ciklą 64 kartus (nuo 0 iki 63!), kuriame prie kintamojo skirto saugoti atsakymui pridedi skaičių 2 pakeltą ciklo kintamojo laipsniu.
Kiek testavau, abudu būdai veikia, tik dabar tau nepasakyčiau kokia funkcija kelia laipsniu paskalyje,
nes jo aš neliečiau nuo pirmo univero kurso.
Pastaba: Tau reikės naudoti "UInt64" kintamojo tipą rezultatui ir/ar einamąjam elementui saugoti, o ne "Integer", dėl (paprastai pasakius ir nesigilinant į detales) pernelyg didelių skaičių, nes tas rezultatas kurį turi gauti į "Integer"
tiesiog netilps.
|
|
| | 2015.04.11 08:56 |
|
|
GnI
Patyręs
|
mezmerize rašė:
64! va tau ir atsakymas visas uzdavinio sprendimas
Deja, bet faktorialas čia netinka, nes 64! = 1 * 2 * 3 * 4 * ... * 64, kai, čia reikia rasti sumą 1 + 2 + 4 + 8 + ... + 2^(64-1).
|
|
| | 2015.04.11 19:42 |
|
|
Blussa
Didmeistris
|
GnI gerai sako, 2 variantas ypač patogus. Gal būt, žiaigiui būtų aiškiau užrašius sumą tokiu pavidalu S = 2^0 + 2^1 + 2^2 +...+ 2^63.
Bet kuriam galui dėl to reikėtų kankintis su paskaliu, niekaip nesuprantu .
|
|
| | 2015.04.12 17:19 |
|
|
Žiaigis
Pradedantysis
|
Blussa rašė:
GnI gerai sako, 2 variantas ypač patogus. Gal būt, žiaigiui būtų aiškiau užrašius sumą tokiu pavidalu S = 2^0 + 2^1 + 2^2 +...+ 2^63.
Bet kuriam galui dėl to reikėtų kankintis su paskaliu,
niekaip nesuprantu .
Dėkoju. Programavimas mokyloje, taip ir kankinamės :D
|
|
|
|
|