• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Liczenie warstw piramidy - usterka

Object Storage Arubacloud
0 głosów
1,932 wizyt
pytanie zadane 22 marca 2020 w Python przez viGor Użytkownik (740 p.)

Cześć, napisałem program, który ma liczyć wysokość piramidy, jednak ma on usterkę. Mam dostęp do danych wyjściowych dla niektórych wartości danych wejściowych, co pozwala mi sprawdzić czy program działa poprawnie, jak się okazuje jestem bardzo blisko poprawnego wyniku, ale nie tego szukam, chcę ,aby działał on w pełni poprawnie. Poniżej polecenie, oraz kod, który napisałem(z błędem w algorytmie),jak i przykładowe dane które powinny być zwracane(na samym dole postu) . Proszę o pomoc.

Polecenie:

Piramida jest ułożona w stos zgodnie z jedną prostą zasadą: każda dolna warstwa zawiera jeden blok więcej niż jedna warstwa wyżej.
Twoim zadaniem jest napisanie programu, który odczytuje liczbę bloków, którymi dysponujemy i podaje wysokość piramidy (liczbę warstw), którą można osiągnąć za pomocą tych bloków.

Uwaga: wysokość mierzona jest liczbą w pełni ukończonych warstw - jeśli nie ma wystarczającej liczby bloków i nie da się ukończyć kolejnej warstwy, należy zakończyć pracę programu i podać liczbę pełnych warstw.

blokow = int(input("Wprowadź liczbę bloków: "))

wysokosc = 0
w_warstwie = 1
while w_warstwie <= blokow:
    blokow = blokow - w_warstwie
    w_warstwie += 1
    if blokow < w_warstwie:
        break
    wysokosc += 1

print("Wysokość piramidy wynosi:", wysokosc)

Przykładowe dane wejściowe oraz poprawne wyniki:

Bloków 1000 , wysokość(warstwy) z 1000 bloków = 44; Bloków 20, wysokość(warstwy) z 20 bloków = 5;

2 odpowiedzi

+1 głos
odpowiedź 22 marca 2020 przez Whistleroosh Maniak (56,980 p.)
wybrane 23 marca 2020 przez viGor
 
Najlepsza
Usuń tego if'a z 8. linii
komentarz 23 marca 2020 przez viGor Użytkownik (740 p.)
dziękuje, wszystko teraz działa poprawnie :D
0 głosów
odpowiedź 28 czerwca 2020 przez Oliwier Kucik Nowicjusz (140 p.)
Jakim cudem z dwudziestu klockow powstaje 5 warstw. nie potrzeba 21 klockow?
komentarz 6 kwietnia 2022 przez Gosias Nowicjusz (100 p.)
ponieważ następna na następną warstwę nie wystarczy bloków, wtedy program zakańcza pracę

Podobne pytania

0 głosów
0 odpowiedzi 207 wizyt
0 głosów
1 odpowiedź 1,119 wizyt
pytanie zadane 25 maja 2018 w JavaScript przez Dwite Nowicjusz (140 p.)

92,556 zapytań

141,403 odpowiedzi

319,560 komentarzy

61,942 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj.

Akademia Sekuraka

Kolejna edycja największej imprezy hakerskiej w Polsce, czyli Mega Sekurak Hacking Party odbędzie się już 20 maja 2024r. Z tej okazji mamy dla Was kod: pasjamshp - jeżeli wpiszecie go w koszyku, to wówczas otrzymacie 40% zniżki na bilet w wersji standard!

Więcej informacji na temat imprezy znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...