# Calcolatrice rotta

**URL:** <https://forum.olinfo.it/t/calcolatrice-rotta/9042>\
**Category:** Aiuto\
**Created:** [7 Ottobre 2024, 6:09pm UTC](https://forum.olinfo.it/t/calcolatrice-rotta/9042 "2024-10-07T18:09:53Z")\
**Posts on this page:** 8\
**Page:** 1

<div class="post-metadata">

**Author:** ![paolodat85](https://forum.olinfo.it/letter_avatar_proxy/v4/letter/p/439d5e/32.png) [@paolodat85](https://forum.olinfo.it/u/paolodat85)\
**Post date:** [7 Ottobre 2024, 6:09pm UTC](https://forum.olinfo.it/t/calcolatrice-rotta/9042/1 "2024-10-07T18:09:53Z")

</div>

Calcolatrice rotta territoriali 2024

Per ottenere il numero 743 la sequenza minima di operazioni ammesse è:  
2^10-2^8-2^4-2^3-1

Il numero di operazioni è: 10+8+4+3+1=26.  
E’ corretto?

---

<div class="post-metadata">

**Author:** ![fve5](https://forum.olinfo.it/user_avatar/forum.olinfo.it/fve5/32/3229_2.png) [@fve5](https://forum.olinfo.it/u/fve5)\
**Post date:** [7 Ottobre 2024, 6:26pm UTC](https://forum.olinfo.it/t/calcolatrice-rotta/9042/2 "2024-10-07T18:26:52Z")

</div>

No, la soluzione ottimale usa 14 operazioni.

---

<div class="post-metadata">

**Author:** ![paolodat85](https://forum.olinfo.it/letter_avatar_proxy/v4/letter/p/439d5e/32.png) [@paolodat85](https://forum.olinfo.it/u/paolodat85)\
**Post date:** [8 Ottobre 2024, 2:42pm UTC](https://forum.olinfo.it/t/calcolatrice-rotta/9042/3 "2024-10-08T14:42:00Z")

</div>

Qual è la sequenza minima di operazioni per ottenere il numero 743?

---

<div class="post-metadata">

**Author:** ![fve5](https://forum.olinfo.it/user_avatar/forum.olinfo.it/fve5/32/3229_2.png) [@fve5](https://forum.olinfo.it/u/fve5)\
**Post date:** [8 Ottobre 2024, 7:10pm UTC](https://forum.olinfo.it/t/calcolatrice-rotta/9042/4 "2024-10-08T19:10:39Z")

</div>

Se te la dicessi ti spoilererei tutto il problema.  
Piuttosto puoi dirmi la tua sequenza da 26? Non ho davvero capito come è fatta

---

<div class="post-metadata">

**Author:** ![ale.cassio](https://forum.olinfo.it/user_avatar/forum.olinfo.it/ale.cassio/32/2829_2.png) [@ale.cassio](https://forum.olinfo.it/u/ale.cassio)\
**Post date:** [5 Marzo 2025, 1:48pm UTC](https://forum.olinfo.it/t/calcolatrice-rotta/9042/5 "2025-03-05T13:48:38Z")

</div>

Sto cercando di risolvere il problema “Calcolatrice rotta” in python 3.10.11, con questo codice sono risucito a risolvere fino al 35/50 o 40/50 su alcuni input.

Questo codice somma uno se _N_ è dispari, altrimenti divide N per 2 finche N == 2. Per entrambi questi casi incrementa il contatore delle operazioni di uno. Per contare il primo numero digitato il contatore comincia da 1.

**Qualcuno saprebbe dirmi quale/i caso/i questo algoritmo non considera?**

```auto
file = open("input.txt", "r")
outputFile = open("ouput.txt", "w")

t = int(file.readline())
for case in range(1, t+1):
    file.readline()
    n = int(file.readline().strip())
    operations = 1

    if n == 1 or n == 2: 
        outputFile.write(f"Case #{case}: {operations}\n")
        continue

    while n != 2:
        if n%2 != 0:
            operations+=1
            n+=1
        else:
            n = int(n/2)
            operations+=1
    outputFile.write(f"Case #{case}: {operations}\n")

file.close()
outputFile.close()

```

Scrivo in questo thread perchè ancora non ho il permesso di creare nuovi argomenti sul forum

---

<div class="post-metadata">

**Author:** ![andreamanzo](https://forum.olinfo.it/user_avatar/forum.olinfo.it/andreamanzo/32/1985_2.png) [@andreamanzo](https://forum.olinfo.it/u/andreamanzo)\
**Post date:** [5 Marzo 2025, 3:12pm UTC](https://forum.olinfo.it/t/calcolatrice-rotta/9042/6 "2025-03-05T15:12:40Z")

</div>

Prova a considerare ed eseguire il seguente codice:

```auto
n = 1999999999275755646 # numero grande
print(n / 2) # divisione a virgola mobile
print(int(n / 2)) # divisione intera tramite: divisione a virgola mobile + conversione a intero con int()
print(n // 2) # divisione intera

```

Noti qualcosa?

---

<div class="post-metadata">

**Author:** ![ale.cassio](https://forum.olinfo.it/user_avatar/forum.olinfo.it/ale.cassio/32/2829_2.png) [@ale.cassio](https://forum.olinfo.it/u/ale.cassio)\
**Post date:** [5 Marzo 2025, 3:22pm UTC](https://forum.olinfo.it/t/calcolatrice-rotta/9042/7 "2025-03-05T15:22:11Z")

</div>

Ho notato adesso che sono diversi. Non avevo proprio pensato alle formattazzione del risultato.

Mi fa pensare che la divsione corretta da eseguire sia n//2

---

<div class="post-metadata">

**Author:** ![ale.cassio](https://forum.olinfo.it/user_avatar/forum.olinfo.it/ale.cassio/32/2829_2.png) [@ale.cassio](https://forum.olinfo.it/u/ale.cassio)\
**Post date:** [5 Marzo 2025, 3:25pm UTC](https://forum.olinfo.it/t/calcolatrice-rotta/9042/8 "2025-03-05T15:25:08Z")

</div>

Ho provato adesso a invirare una nuova soluzione e ha funzionato utiliazzando la divisione intera

Grazie mille per l’aiuto
