Jó ez az algoritmus?

Figyelt kérdés

Egy gyerekcsoport számol,amíg valaki a 100ast mondja és valajányszor a 7es számjegy megtalálható a számban,tapsolnak.Ha egy számban többször is előfordul a 7es,akkor többször tapsolnak.Írjuk ki hányszor tapsoltak a gyerekek.


Be x

darab<-0

Amív x<=100 végezd el

Ha x%10=7 vagy [x/10]%10=7 akkor

tapsolnak<-igen

darab<-darab+1

különben

tapsolnak<-nem

Ha x=77

tapsolnak<-igen

darab<-darab+2

Ki db,"ennyiszer tapsoltak a gyerekek"


2019. febr. 23. 18:30
 1/3 anonim ***** válasza:
54%

Technikailag felesleges beállítani, hogy tapsolnak - elég, ha csak a darabszámot növeled.


Hogy mikor tapsoltak? Algoritmus 100-nál kisebb, 7-est tartalmazó számokra: (A div az egész osztás!)

Ha (x == 7) vagy ((x div 10) == 7) akkor

{

darab = darab + 1;

Ha (x == 77) akkor darab = darab + 1;

}


Ha lehet 100-nál nagyobb számot is mondani, akkor érdemesebb szövegként kezelni a számot, és ciklussal végigmenni a karaktertömbön, a "7" karaktert keresni.

2019. febr. 23. 19:06
Hasznos számodra ez a válasz?
 2/3 anonim ***** válasza:

Tehát ha jól értem, akkor 0-tól 100-ig számolunk és ahányszor egy számban hetes betű van, annyiszor tapsolunk?


A kód egyébként nehezen olvasható, mert az oldal lecsapja a behúzásokat, de ránézésre majdnem jónak tűnik.


Pár megjegyzés:


1. Az x=77 bedrótozása a kódba nem igazán elegáns megoldás.


2. HIBA: Ha x=77, akkor a darab-hoz 3-at fogsz hozzáadni, pedig csak kettőt kellene, hiszen ennyiszer tapsoltak.


Miért? Először is 77%10=7-et ad eredményül, ezért lefut a HA() ág, ott hozzáadsz egyet a darab-hoz. Megy tovább a program, lefut a HA(x=77) is, ahol még kettőt hozzáadsz a darabhoz. Ez összesen három.


3. A tapsolnak<-nem ágat igazából felesleges kiírni, de nem hiba.

2019. febr. 23. 22:55
Hasznos számodra ez a válasz?
 3/3 anonim ***** válasza:
Illetve még annyi, hogy ha az "Amív x<=100 végezd el" sor egy elöltesztelős ciklus, nem pedig for(), akkor az x-et növelni kellene a ciklusmag végén.
2019. febr. 23. 22:57
Hasznos számodra ez a válasz?

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!