Sivut

Kommentit (9258)

käyttäjä-7929
Seuraa 
Viestejä572

Jos kerran Kalle ja Ville voivat myös puhua totta niin miksipä ei sitten Pelle joskus valehtelisi?

Tehtävä muuttuu sellaiseksi, että jokainen veljes voi puhua totta tai valehdella. Mahtaakohan enää kysymystä löytyä?

Tehtävää' ruvettiin muuttamaan. Eikö vastaukseni tai vastaaja miellyttäneet?

Sisältö jatkuu mainoksen alla
Sisältö jatkuu mainoksen alla
Eusa
Seuraa 
Viestejä17933

PPo kirjoitti:
Eusa kirjoitti:
Käyttäjä18936 kirjoitti:
käyttäjä-7929 kirjoitti:
käyttäjä-7929 kirjoitti:
PPo kirjoitti:
kuha kirjoitti:
PPo kirjoitti:
käyttäjä-7929 kirjoitti:
Kysyn: Oletko Ville? Pelle vastaisi "en" ja Ville vastaisi "en". Kalle vastaisi "olen".
Noinhan se menee.

Jatkokysymys.

Kuinka selvittää yhdellä kysymyksellä, onko henkilö Pelle, joka puhuu aina totta?

Paljonko on 1+1.

Jos halutaan selvittää kuka on Pelle voidaan kysyä "kumpi noista kahdesta valehtelee?"

Tuossa taitaa olla kaksi kysymystä.

Onko 1+1 = 3 ?

Pelle vastaa ei, Ville ja Kalle vastaavat kyllä.

Tietenkin mikä tahansa samanlainen vale kelpaa. Onko musta valkoista? Jne

Ja voin kysyä myös totuuksista. Onko 1+1 = 2 ? Onko Kallen nimi "Kalle"? Jne.

Pelle vastaa kyllä, Kalle ja Ville vastaavat  ei..

Ville ja Kalle eivät ole tyhmiä valehtelijoita.

Kysymyksiin, joiden vastauksen kysyjä tietää, he tietenkin vastaavat oikein.


Oletteko kaikki veljet yhtä mieltä siitä, että sinä olet Pelle?

Jos kyseessä on Kalle, veljet ovat erimielisiä ja Kalle vastaa kuitenkin "ovat".

Jos kyseessä on Ville, ovat veljet taas erimielisiä ja Ville valehtelee "ovat".

Vain Pelle vastaa rehellisesti "ei", koskaa tietää velipoikien valehtelevan.

Pelle vastaa myös, että ovat, sillä tietäähän Pelle,että Ville ja Kalle ovat yhtä mieltä siitä, että hän on Pelle.

Eihän se, että Ville ja Kalle valehtelevat, tarkoita, että Ville ja Kalle eivät veljeään tuntisi.

Villen ja Kallen mielipide ei liity Pelleen vaan siihen mitä ulkopuoliselle kysyjälle vastataan - okei, täsmennetään:

"Jos kysyisin teiltä jokaiselta, saisinko kaikilta saman vastauksen, että sinä olet Pelle?"

Hienorakennevakio vapausasteista: (1+2¹+3²+5³+1/2¹*3²/5³)⁻¹ = 137,036⁻¹

Eusa
Seuraa 
Viestejä17933

käyttäjä-7929 kirjoitti:
Jos kerran Kalle ja Ville voivat myös puhua totta niin miksipä ei sitten Pelle joskus valehtelisi?

Tehtävä muuttuu sellaiseksi, että jokainen veljes voi puhua totta tai valehdella. Mahtaakohan enää kysymystä löytyä?

Tehtävää' ruvettiin muuttamaan. Eikö vastaukseni tai vastaaja miellyttäneet?

Minusta on loogista edellyttää, ettei Ville/Kalle valehtele sellaisessa asiassa, jonka voi saman tien tarkistaa - kyse on siis patologisesta valehtelusta. Pelle olkoon rehellinen aina ja kaikessa. :)

Hienorakennevakio vapausasteista: (1+2¹+3²+5³+1/2¹*3²/5³)⁻¹ = 137,036⁻¹

käyttäjä-7929
Seuraa 
Viestejä572

Eusa kirjoitti:
käyttäjä-7929 kirjoitti:
Jos kerran Kalle ja Ville voivat myös puhua totta niin miksipä ei sitten Pelle joskus valehtelisi?

Tehtävä muuttuu sellaiseksi, että jokainen veljes voi puhua totta tai valehdella. Mahtaakohan enää kysymystä löytyä?

Tehtävää' ruvettiin muuttamaan. Eikö vastaukseni tai vastaaja miellyttäneet?

Minusta on loogista edellyttää, ettei Ville/Kalle valehtele sellaisessa asiassa, jonka voi saman tien tarkistaa - kyse on siis patologisesta valehtelusta. Pelle olkoon rehellinen aina ja kaikessa. :)

Minusta ei.

Eusa
Seuraa 
Viestejä17933

käyttäjä-7929 kirjoitti:
Eusa kirjoitti:
käyttäjä-7929 kirjoitti:
Jos kerran Kalle ja Ville voivat myös puhua totta niin miksipä ei sitten Pelle joskus valehtelisi?

Tehtävä muuttuu sellaiseksi, että jokainen veljes voi puhua totta tai valehdella. Mahtaakohan enää kysymystä löytyä?

Tehtävää' ruvettiin muuttamaan. Eikö vastaukseni tai vastaaja miellyttäneet?

Minusta on loogista edellyttää, ettei Ville/Kalle valehtele sellaisessa asiassa, jonka voi saman tien tarkistaa - kyse on siis patologisesta valehtelusta. Pelle olkoon rehellinen aina ja kaikessa. :)

Minusta ei.

Etkö tykkää ottaa kinkkisempiä tehtäviä haasteena?

Hienorakennevakio vapausasteista: (1+2¹+3²+5³+1/2¹*3²/5³)⁻¹ = 137,036⁻¹

kuha
Seuraa 
Viestejä58

PPo kirjoitti:
kuha kirjoitti:
PPo kirjoitti:
käyttäjä-7929 kirjoitti:
Kysyn: Oletko Ville? Pelle vastaisi "en" ja Ville vastaisi "en". Kalle vastaisi "olen".
Noinhan se menee.

Jatkokysymys.

Kuinka selvittää yhdellä kysymyksellä, onko henkilö Pelle, joka puhuu aina totta?

Paljonko on 1+1.

Jos halutaan selvittää kuka on Pelle voidaan kysyä "kumpi noista kahdesta valehtelee?"

Tuossa taitaa olla kaksi kysymystä.

Siinä on kaksi kysymystä. Ensimmäinen on vastaus kysymykseesi.

Toinen on vastaus kysymykseen" Kuinka yhdellä kysymyksellä selvitetään, kuka on Pelle?"

Sitä et kysynyt, mutta arvelin sen silti olevan helposti mieleen tuleva lisäkysymys. 

käyttäjä-7929
Seuraa 
Viestejä572

Eusa kirjoitti:
käyttäjä-7929 kirjoitti:
Eusa kirjoitti:
käyttäjä-7929 kirjoitti:
Jos kerran Kalle ja Ville voivat myös puhua totta niin miksipä ei sitten Pelle joskus valehtelisi?

Tehtävä muuttuu sellaiseksi, että jokainen veljes voi puhua totta tai valehdella. Mahtaakohan enää kysymystä löytyä?

Tehtävää' ruvettiin muuttamaan. Eikö vastaukseni tai vastaaja miellyttäneet?

Minusta on loogista edellyttää, ettei Ville/Kalle valehtele sellaisessa asiassa, jonka voi saman tien tarkistaa - kyse on siis patologisesta valehtelusta. Pelle olkoon rehellinen aina ja kaikessa. :)

Minusta ei.

Etkö tykkää ottaa kinkkisempiä tehtäviä haasteena?

Hölö,hölö!

Tehtävät pitäisi asettaa niin ettei niitä myöhemmin korjailla.Tai ainakin todeta, että ok , tehtävä on nyt ratkaistu ,

mutta annetaan tässä uusi, samankaltainen, tehtävä.

Ja mistä Ville/Kalle tietää, mitkä asiat kysyjä voi "saman tien tarkistaa"?

Täällä on ennenkin esitetty epämääräisiä tehtäviä joita sitten myöhemmin korjaillaan.

Ei ole kovin  loogista ajatella, että V ja K voivat puhua tottakin mutta P ei voisi sitten joskus valehdella.

Aiheetta yhtään enempään tästä asiasta.

käyttäjä-7929

PPo
Seuraa 
Viestejä14993

Eusa kirjoitti:
PPo kirjoitti:
Eusa kirjoitti:
Käyttäjä18936 kirjoitti:
käyttäjä-7929 kirjoitti:
käyttäjä-7929 kirjoitti:
PPo kirjoitti:
kuha kirjoitti:
PPo kirjoitti:
käyttäjä-7929 kirjoitti:
Kysyn: Oletko Ville? Pelle vastaisi "en" ja Ville vastaisi "en". Kalle vastaisi "olen".
Noinhan se menee.

Jatkokysymys.

Kuinka selvittää yhdellä kysymyksellä, onko henkilö Pelle, joka puhuu aina totta?

Paljonko on 1+1.

Jos halutaan selvittää kuka on Pelle voidaan kysyä "kumpi noista kahdesta valehtelee?"

Tuossa taitaa olla kaksi kysymystä.

Onko 1+1 = 3 ?

Pelle vastaa ei, Ville ja Kalle vastaavat kyllä.

Tietenkin mikä tahansa samanlainen vale kelpaa. Onko musta valkoista? Jne

Ja voin kysyä myös totuuksista. Onko 1+1 = 2 ? Onko Kallen nimi "Kalle"? Jne.

Pelle vastaa kyllä, Kalle ja Ville vastaavat  ei..

Ville ja Kalle eivät ole tyhmiä valehtelijoita.

Kysymyksiin, joiden vastauksen kysyjä tietää, he tietenkin vastaavat oikein.


Oletteko kaikki veljet yhtä mieltä siitä, että sinä olet Pelle?

Jos kyseessä on Kalle, veljet ovat erimielisiä ja Kalle vastaa kuitenkin "ovat".

Jos kyseessä on Ville, ovat veljet taas erimielisiä ja Ville valehtelee "ovat".

Vain Pelle vastaa rehellisesti "ei", koskaa tietää velipoikien valehtelevan.

Pelle vastaa myös, että ovat, sillä tietäähän Pelle,että Ville ja Kalle ovat yhtä mieltä siitä, että hän on Pelle.

Eihän se, että Ville ja Kalle valehtelevat, tarkoita, että Ville ja Kalle eivät veljeään tuntisi.

Villen ja Kallen mielipide ei liity Pelleen vaan siihen mitä ulkopuoliselle kysyjälle vastataan - okei, täsmennetään:

"Jos kysyisin teiltä jokaiselta, saisinko kaikilta saman vastauksen, että sinä olet Pelle?"

Tämä kysymys on huomattavasti parempi:-)

Itse muotoilin kysymyksen seuraavasti

"Jos olisin eilen kysynyt sinulta, että oletko Pelle, niin mitä olisit vastannut?"

PPo
Seuraa 
Viestejä14993

käyttäjä-7929 kirjoitti:
Eusa kirjoitti:
käyttäjä-7929 kirjoitti:
Eusa kirjoitti:
käyttäjä-7929 kirjoitti:
Jos kerran Kalle ja Ville voivat myös puhua totta niin miksipä ei sitten Pelle joskus valehtelisi?

Tehtävä muuttuu sellaiseksi, että jokainen veljes voi puhua totta tai valehdella. Mahtaakohan enää kysymystä löytyä?

Tehtävää' ruvettiin muuttamaan. Eikö vastaukseni tai vastaaja miellyttäneet?

Minusta on loogista edellyttää, ettei Ville/Kalle valehtele sellaisessa asiassa, jonka voi saman tien tarkistaa - kyse on siis patologisesta valehtelusta. Pelle olkoon rehellinen aina ja kaikessa. :)

Minusta ei.

Etkö tykkää ottaa kinkkisempiä tehtäviä haasteena?

Hölö,hölö!

Tehtävät pitäisi asettaa niin ettei niitä myöhemmin korjailla.Tai ainakin todeta, että ok , tehtävä on nyt ratkaistu ,

mutta annetaan tässä uusi, samankaltainen, tehtävä.

Ja mistä Ville/Kalle tietää, mitkä asiat kysyjä voi "saman tien tarkistaa"?

Täällä on ennenkin esitetty epämääräisiä tehtäviä joita sitten myöhemmin korjaillaan.

Ei ole kovin  loogista ajatella, että V ja K voivat puhua tottakin mutta P ei voisi sitten joskus valehdella.

Aiheetta yhtään enempään tästä asiasta.

käyttäjä-7929

Kirjoitit

Ja voin kysyä myös totuuksista. Onko 1+1 = 2 ? Onko Kallen nimi "Kalle"? Jne.

Jos sanon, että 1+1≠2, niin olenko valehtelija vai henkilö, joka ei osaa laskea?

Jos sanon, että Kallen nimi ei ole Kalle, niin olenko valehtelija vai henkilö, joka ei ymmärrä mitä lause " Kallen nimi ei ole Kalle" tarkoittaa?

Kyttääjä
Seuraa 
Viestejä1163

Hyväksytään listaan vain luvut, jotka ovat alkulukuja ja joiden lukujen numeroiden summa on myös alkuluku. Tuhannes tällainen alkuluku on 18679, jonka numeroiden summa 1+8+6+7+9 = 31 on myös alkuluku. Mikä on miljoonas sellainen alkuluku, jonka numeroiden summa on myös alkuluku?

PPo
Seuraa 
Viestejä14993

Kyttääjä kirjoitti:
Hyväksytään listaan vain luvut, jotka ovat alkulukuja ja joiden lukujen numeroiden summa on myös alkuluku. Tuhannes tällainen alkuluku on 18679, jonka numeroiden summa 1+8+6+7+9 = 31 on myös alkuluku. Mikä on miljoonas sellainen alkuluku, jonka numeroiden summa on myös alkuluku?
Eipä ole tehtävä herättänyt kiinnostusta eikä ihme.

Periaatteessa tehtävä on   yksinkertainen mutta käytännössä mahdoton.

Pitäisi olla useita miljoonia alkulukuja sisältävä  luettelo.

Luvun numeroiden summan lakeminen ja sen alkuluvuksi  tai ei alkuluvuksi toteaminen on yksinkertaista.

Yli miljoonan tällaisen laskutoimituksen suorittaminen saattaa puuduttaa jopa sitkeimmänkin ja tukkimehen kirjanpidossa tulee helposti virheitä.

Kyttääjä
Seuraa 
Viestejä1163

PPo kirjoitti:
Kyttääjä kirjoitti:
Hyväksytään listaan vain luvut, jotka ovat alkulukuja ja joiden lukujen numeroiden summa on myös alkuluku. Tuhannes tällainen alkuluku on 18679, jonka numeroiden summa 1+8+6+7+9 = 31 on myös alkuluku. Mikä on miljoonas sellainen alkuluku, jonka numeroiden summa on myös alkuluku?
Eipä ole tehtävä herättänyt kiinnostusta eikä ihme.

Periaatteessa tehtävä on   yksinkertainen mutta käytännössä mahdoton.

Pitäisi olla useita miljoonia alkulukuja sisältävä  luettelo.

Luvun numeroiden summan lakeminen ja sen alkuluvuksi  tai ei alkuluvuksi toteaminen on yksinkertaista.

Yli miljoonan tällaisen laskutoimituksen suorittaminen saattaa puuduttaa jopa sitkeimmänkin ja tukkimehen kirjanpidossa tulee helposti virheitä.

Jos tietää ohjelmoinnin perusteet, ongelma ratkeaa esimerkiksi C:llä 10:ssä sekunnissa:

#include %b math.h %e

#include %b stdio.h %e

#define  TRUE 1
#define FALSE 0

int onko_alkuluku(int x)
{
        if (x<0x2) return 0x0;
        else if (x==2) return 1;
        else if (!(x%2)) return 0;
        else
        {
                int end=(int)(sqrt((double)x)+2.0);
                for (int y=3; y<end; y+=2)
                if (!(x%y)) return FALSE;
                return TRUE;
        }
}

int onko_numeroiden_summa_alkuluku(int x)
{
        int sum=0;
        while (x)
        {
                sum+=x%10;
                x/=10;
        }
        return onko_alkuluku(sum);
}

void main(void)
{
        int kpl=1000000;
        for (int x=0, lkm=0; ; x++)
        {
                if (onko_alkuluku(x) == TRUE)
                if (onko_numeroiden_summa_alkuluku(x) == TRUE)
                {
                        if ((++lkm)==kpl)
                        {
                                printf("%20d", x);
                                break;
                        }
                }
        }
}

Kyttääjä
Seuraa 
Viestejä1163

Yhdenmukaisuuden vuoksi onko_alkuluku funktioon lisätty TRUE:t ja FALSE:t

int onko_alkuluku(int x)
{
        if (x<2) return FALSE;
        else if (x==2) return TRUE;
        else if (!(x%2)) return FALSE;
        else
        {
                int end=(int)(sqrt((double)x)+2.0);
                for (int y=3; y<end; y+=2)
                if (!(x%y)) return FALSE;
                return TRUE;
        }
}

(Vastaus on 44 275 807)

PPo
Seuraa 
Viestejä14993

Kyttääjä kirjoitti:
Yhdenmukaisuuden vuoksi onko_alkuluku funktioon lisätty TRUE:t ja FALSE:t

int onko_alkuluku(int x)
{
        if (x<2) return FALSE;
        else if (x==2) return TRUE;
        else if (!(x%2)) return FALSE;
        else
        {
                int end=(int)(sqrt((double)x)+2.0);
                for (int y=3; y<end; y+=2)
                if (!(x%y)) return FALSE;
                return TRUE;
        }
}

(Vastaus on 44 275 807)

Ok, mutta mistä tiedetään, että 44 275 807 on listasi miljoonas luku?

Kyttääjä
Seuraa 
Viestejä1163

void main(void)
{
        int kpl=1000000;
        for (int x=0, lkm=0; ; x++)
        {
                if (onko_alkuluku(x) == TRUE)
                if (onko_numeroiden_summa_alkuluku(x) == TRUE)
                {
                        if ((++lkm) == kpl)
                        {
                                printf("%20d", x);
                                break;
                        }
                }
        }
}

Ensin mainissa vaaditaan, että sekä luku, että sen numeroiden summa on alkuluku:

                if (onko_alkuluku(x) == TRUE)
                if (onko_numeroiden_summa_alkuluku(x) == TRUE)

Jos molemmat ehdot ovat TRUE, tilastoa kasvatetaan yhdellä ++lkm -käskyllä.

Jos lkm on yhtäsuuri kuin kpl (jonka arvoksi on asetettu 1000000) tulostetaan haettu luku ja annetaan break käsky.

C:n modulon operaattorina on %. Eli esimerkiksi 10%7 = 3

Modulo-operaattorilla on tulostuksessa eri tarkoitus, ja C bongaa eri merkityksen, jos modulo operaattori on lainausmerkkien välissä. Silloin modulo-operaattori tarkoittaa, että tulostetaan jotain, ja d tarkoittaa, että tulostetaan kokonaisluku. (20 tarkoittaa, että kokonaisluku tulostetaan 20-merkin kenttään.)

                        if ((++lkm) == kpl)
                        {
                                printf("%20d", x);
                                break;
                        }

Vielä yksi maininnan arvoinen asia C:stä tässä yhteydessä on yhtäsuuruusvertailu jonka operaattori on ==

C:n operaattorit:

> ... suurempi

< ... pienempi

>= ... suurempi tai yhtäsuuri

<= ... pienempi tai yhtäsuuri

== ... yhtäsuuri

!= ... erisuuri

^ ... xor-operaatio

& ... biteittäin and

| ... biteittäin or

&& ... looginen and

|| ... looginen or

>> ... bittisiirto oikealle

<< ... bittisiirto vasemmalle

! ... not-operaatio

~... negaatio (kääntää kaikki bitit ympäri)

QS
Seuraa 
Viestejä5526

Kyttääjä kirjoitti:
Hyväksytään listaan vain luvut, jotka ovat alkulukuja ja joiden lukujen numeroiden summa on myös alkuluku. Tuhannes tällainen alkuluku on 18679, jonka numeroiden summa 1+8+6+7+9 = 31 on myös alkuluku. Mikä on miljoonas sellainen alkuluku, jonka numeroiden summa on myös alkuluku?

Matematiikka-softilla lyhyemmin ja helpommin kuin C:llä.

Kyttääjä
Seuraa 
Viestejä1163

Kyttääjä kirjoitti:
Lasketaan summaan 10 000 sellaista alkulukua, joiden numeroiden summa on 37. Kun saatuun summaan lisätään vielä 1, onko luku alkuluku vai ei?

Tuli lukihäiriö, kun 1 ja 7 ovat melkein samanlaisia fontteja. Saatuun summaan lisätään siis 7, ja kysytään onko saatu numero alkuluku, ja minkä suuruinen luku on?

Sivut

Suosituimmat

Uusimmat

Sisältö jatkuu mainoksen alla

Uusimmat

Suosituimmat