Kirjautuminen

Haku

Tehtävät

Keskustelu: Yleinen keskustelu: En osaa panna viisareita päällekkäin! :(

PetriKeckman [03.07.2022 06:49:17]

#

Oletetaan äärimmäisen tarkka viisarikello. Milloin kaikki viisarit ovat päällekkäin?

EDIT: kirjoituksen jälkeen huomasin, että koodissani, mikä laskee minuuttiviisarin kulkemaa astematkaa tunnissa, on remainder funktion käyttö järjetöntä! Siis tämä sijoituslause minuuttiviisari: remainder (60 * tuntiviisari) 360 ja sama juttu sekuntiviisarin kanssa. Miten siis lasketaan minuutti- ja sekuntiviisareiden asteet kun tunti tunnetaan? Vaikka nyt minulla on kyllä jo sellainen tuntemus, että kaikki kolme viisaria eivät ole päällekkäin kuin 00:00:00.000 ja 12:00:00.000 EDIT2: Nyt minulla on jo varmuus siitä, mutta hyvä se olisi voida ohjelmallisesti tarkistaa :)

Yritin järkeillä ratkaisua sillä perusteella, että minuuttiviisari kulkee 60 kertaa nopeammin kuin tuntiviisari ja sekuntiviisari 3600 kertaa nopeammin kuin tuntiviisari, mutta sain järjettömän listauksen.

rebol[]
h: 0
while [h <= 12][
	tuntiviisari: 360 * h / 12 ;tuntiviisari kulkee 360 astetta 12 tunnissa
	minuuttiviisari: remainder (60 * tuntiviisari) 360 ;minuuttiviisari kukee 60 kertaa nopeammin
	sekuntiviisari: remainder (3600 * tuntiviisari) 360 ;ja sekuntiviisari 3600 kertaa nopeammin kuin tuntiviisari
	if (((round/to tuntiviisari 0.1)) = (round/to minuuttiviisari 0.1)) and ((round/to tuntiviisari 0.1) = (round/to sekuntiviisari 0.1)) [
		;Milloin kymenesosa asteen tarkkuudella tuntiviisari=minuuttiviisari ja tuntiviisari=sekuntiviisari
		tunnit: round/down h
		tarkatminuutit: 60 * (h - tunnit)
		minuutit: round/down (60 * (h - tunnit))
		sekunnit: 60 * (tarkatminuutit - minuutit)
		print [tunnit " tuntia " minuutit " minuuttia ja " sekunnit " sekuntia."]
	]
	h: h + 0.000001
]
halt

Yo. ohjelma tulosti kirjoitti:

0 tuntia 0 minuuttia ja 0 sekuntia.
0 tuntia 12 minuuttia ja 12.2040000006578 sekuntia.
0 tuntia 24 minuuttia ja 24.4079999857245 sekuntia.
0 tuntia 36 minuuttia ja 36.6083999881499 sekuntia.
0 tuntia 48 minuuttia ja 48.812400009205 sekuntia.
1 tuntia 1 minuuttia ja 1.01640002348558 sekuntia.
1 tuntia 13 minuuttia ja 13.2203999632497 sekuntia.
1 tuntia 25 minuuttia ja 25.4243999030136 sekuntia.
1 tuntia 49 minuuttia ja 49.828799782542 sekuntia.
2 tuntia 2 minuuttia ja 2.0327997494028 sekuntia.
2 tuntia 14 minuuttia ja 14.2367998517488 sekuntia.
2 tuntia 26 minuuttia ja 26.4407999540948 sekuntia.
2 tuntia 38 minuuttia ja 38.6448000564405 sekuntia.
2 tuntia 50 minuuttia ja 50.8452001587862 sekuntia.
3 tuntia 3 minuuttia ja 3.04920026113223 sekuntia.
3 tuntia 15 minuuttia ja 15.2532003634782 sekuntia.
3 tuntia 27 minuuttia ja 27.4572004658242 sekuntia.
3 tuntia 39 minuuttia ja 39.6612005681702 sekuntia.
4 tuntia 4 minuuttia ja 4.06560077286166 sekuntia.
4 tuntia 16 minuuttia ja 16.2696008752076 sekuntia.
4 tuntia 28 minuuttia ja 28.4736009775536 sekuntia.
4 tuntia 40 minuuttia ja 40.6776010798998 sekuntia.
4 tuntia 52 minuuttia ja 52.8816011822454 sekuntia.
5 tuntia 5 minuuttia ja 5.08200128459109 sekuntia.
5 tuntia 17 minuuttia ja 17.2860013869371 sekuntia.
5 tuntia 29 minuuttia ja 29.4900014892831 sekuntia.
5 tuntia 41 minuuttia ja 41.694001591629 sekuntia.
5 tuntia 53 minuuttia ja 53.898001693975 sekuntia.
6 tuntia 6 minuuttia ja 6.10200179632102 sekuntia.
6 tuntia 18 minuuttia ja 18.306001898667 sekuntia.
6 tuntia 30 minuuttia ja 30.510002001013 sekuntia.
6 tuntia 42 minuuttia ja 42.714002103359 sekuntia.
6 tuntia 54 minuuttia ja 54.918002205705 sekuntia.
7 tuntia 7 minuuttia ja 7.11840230805045 sekuntia.
7 tuntia 19 minuuttia ja 19.3224024103964 sekuntia.
7 tuntia 31 minuuttia ja 31.5264025127424 sekuntia.
7 tuntia 43 minuuttia ja 43.7304026150886 sekuntia.
7 tuntia 55 minuuttia ja 55.9344027174342 sekuntia.
8 tuntia 20 minuuttia ja 20.3388018382441 sekuntia.
8 tuntia 32 minuuttia ja 32.5428012902623 sekuntia.
8 tuntia 44 minuuttia ja 44.7468007422805 sekuntia.
8 tuntia 56 minuuttia ja 56.9508001942987 sekuntia.
9 tuntia 9 minuuttia ja 9.15479964631686 sekuntia.
9 tuntia 21 minuuttia ja 21.3551990983377 sekuntia.
9 tuntia 33 minuuttia ja 33.5591985503559 sekuntia.
9 tuntia 45 minuuttia ja 45.7631980023741 sekuntia.
9 tuntia 57 minuuttia ja 57.9671974543923 sekuntia.
10 tuntia 10 minuuttia ja 10.1711969064105 sekuntia.
10 tuntia 34 minuuttia ja 34.5755958104496 sekuntia.
10 tuntia 46 minuuttia ja 46.7795952624678 sekuntia.
10 tuntia 58 minuuttia ja 58.983594714486 sekuntia.
11 tuntia 11 minuuttia ja 11.1875941665042 sekuntia.
11 tuntia 23 minuuttia ja 23.3915936185224 sekuntia.
11 tuntia 35 minuuttia ja 35.5919930705433 sekuntia.
11 tuntia 47 minuuttia ja 47.7959925225615 sekuntia.
11 tuntia 59 minuuttia ja 59.9999919745797 sekuntia.
>>

Lista on järjetön siksi, että joskus aiemmin selvitin milloin tuntiviisari ja minuuttiviisari ovat päällekkäin. Selvitys tapahtui alla olevalla ohjelmalla, mikä perustui siihen kun järkeilin, että tuntiviisari ja minuuttiviisari ovat tasaisin välein 11 kertaa 12 tunnissa päällekkäin. Kun tähän lisätään vielä sekuntiviisari, niin onko ne itse asiassa kertaakaan kaikki päällekkäin - no ainakin kasi kertaa, kello 00:00:00 ja 12:00:00.

rebol[]
a: 0
da: 12 / 11
for i 1 11 1 [
	a: a + da
	h: to-integer a
	m: to-integer ((a - h) * 60)
	s: 60 * ((a - to-integer a) *  60) - (m * 60)
	print rejoin [h " h " m " minuuttia " round/to s 0.001 " sekunttia"]
]
halt

Tuntiviisari ja minuuttiviisari päällekkäin kirjoitti:

1 h 5 minuuttia 27.273 sekunttia
2 h 10 minuuttia 54.545 sekunttia
3 h 16 minuuttia 21.818 sekunttia
4 h 21 minuuttia 49.091 sekunttia
5 h 27 minuuttia 16.364 sekunttia
6 h 32 minuuttia 43.636 sekunttia
7 h 38 minuuttia 10.909 sekunttia
8 h 43 minuuttia 38.182 sekunttia
9 h 49 minuuttia 5.455 sekunttia
10 h 54 minuuttia 32.727 sekunttia
11 h 59 minuuttia 60.0 sekunttia
>

EDIT3: Eli: kaikki kolme eivät ole koskaan päällekkäin, paitsi 00:00:00 ja 12:00:00, mutta keskenään kaikki kaksi, pakosti. Siis tuntiviisari on sekuntiviisarin kanssa päällekkäin ja toisilla hetkillä sekuntiviisari ja tuntiviisari tai sekunti viisari ja minuuttiviisari. Milloin? Alankin tätä pohtimaan, joskus, just nyt ei enää huvita.

Pareja ovat siis:

Tuntiviisari ja minuuttiviisari. (tämä jo ratkaistiin kai jälkimmäisellä ohjelmalla)
Tuntiviisari ja sekuntiviisari.
Minuuttiviisari ja sekuntiviisari.

Metabolix [03.07.2022 09:43:37]

#

PetriKeckman kirjoitti:

Yritin järkeillä ratkaisua sillä perusteella, että minuuttiviisari kulkee 60 kertaa nopeammin kuin tuntiviisari

Eihän se tietenkään pidä paikkaansa, koska kellotaulussa yksi minuutti on yhden pykälän mutta yksi tunti on viisi pykälää.

Minuuttiviisari ohittaa tuntiviisarin joka tunti vähän myöhemmin, kunnes tunnilla 11 ohitus tapahtuu vasta 11:60 eli klo 12. Eli 12 tunnissa on 11 kohtaamista. Koska nopeus pysyy samana, ohitukset ovat tasaisesti 12/11 tunnin välein. (Tätä on turha muuntaa asteiksi.) Sekunnit voidaan helposti laskea tuosta minuuttien määrästä, ja jos jakojäännös tuntuu vaikealta, nuo 11 tapausta voi tutkia vaikka yksitellen ja todeta, että sekunnit ja minuutit eivät osu yksiin.

Muualta netissä löytyy jo tarkempi vastaus ja viisarien kulmat, joten päätän tähän.

PetriKeckman [03.07.2022 10:29:50]

#

Metabolix kirjoitti:

Eihän se tietenkään pidä paikkaansa, koska kellotaulussa yksi minuutti on yhden pykälän mutta yksi tunti on viisi pykälää.

Sellaista se on, kun väsyneillä aivoilla yön pimeydessä miettii. Tosiaan, ja tietysti, siis tuntiviisari kulkee tunnissa 360/12 astetta (hölmönä haluan ajatella asteissa) ja minuuttiviisari tunnissa 360*60 asetta, joten minuuttiviisari kulkee (360*60)/(360/12) = 720 kertaa nopeammin. Meniköhän hölmöltä nytkään oikein? En odota Metabolixilta vastausta, mutta jos joitain muita enää jaksaa kiinnostaa...EDIT: Väärin taas! Palaan editoimaan kohta. EDIT2: Ei, on tuo oikein.

Metabolix kirjoitti:

Eli 12 tunnissa on 11 kohtaamista.

Joo, tuossa toisessa ohjelmassa olinkin järkeillyt oikein.

Metabolix [03.07.2022 12:45:00]

#

PetriKeckman kirjoitti:

– – minuuttiviisari tunnissa 360*60 asetta, joten minuuttiviisari kulkee (360*60)/(360/12) = 720 kertaa nopeammin. Meniköhän hölmöltä nytkään oikein? – – EDIT: Väärin taas! Palaan editoimaan kohta. EDIT2: Ei, on tuo oikein.

No eihän se nyt millään ole oikein. 360 astetta on yksi kierros. Montako kierrosta minuuttiviisari kulkee tunnissa? Ei varmaan 60 kierrosta ainakaan.

PetriKeckman [03.07.2022 13:46:14]

#

Sellaista se on, kun väsyneillä ja hölmöillä aivoilla päivän valossa miettii. Ongelma lienee osittain vanhuudessa ja lääkkeissä. Tietyt lääkkeet ja sairaudet heikentävät rutkasti kognitiivisia kykyjä. Tai sitten liikaa tai liian vähän tupakkaa.

Siis: tuntiviisari kulkee tunnissa 360/12 astetta (oho! Tämä taitaa olla oikein! :) ja minuuttiviisari kulkeekin tunnissa tosiaan vain 360. Eli onkos tuo nyt sitten niin, että minuuttiviisari kulkee 360/(360/12) = 12 kertaa nopeammin.

Mulla on digitaalikello ja ei oo tullut viisarikelloa tuijotettua aikoihin. Siksikin tämä on näin lapsellisen vaikeaa.

EDIT: Yritän nyt ratkaista tätä:

Jos lievennetään hieman vaatimusta, että viisareiden täytyy olla täysin päällekkäin, niin löytynee kyllä aikoja, jos esimerkiksi riittää, että asteen tarkkuudella ovat kaikki päällekkäin.

Mutta ei ohjelmoinnista tuu mitään! :(

Vastaus

Aihe on jo aika vanha, joten et voi enää vastata siihen.

Tietoa sivustosta