Visualizzazione dei risultati da 1 a 9 su 9
  1. #1

    Scomporre un numero intero [C]

    Ragazzi per scuola devo fare un programma che mi permetta di scomporre un numero intero compreso tra 1 e 9999 fornito in ingresso in Migliaia centinaia decine e unità....
    Pensavo di inizializzare in numero da fornire come ingresso come N....ma poi non ho la minima idea di come possa fare per scomporre il numero...
    Grazie a tutti per l'aiuto...

  2. #2
    Scomporre nel senso che devi trovare i fattori che moltiplicati danno quel numero?
    tipo 54 = 2*3^3?

  3. #3
    ad esempio ho il numero 892
    la scomposizione sarebbe
    8
    9
    2

  4. #4
    Allora il prendere il numero in migliaia centinaia decine e unita ha poco senso secondo me.
    Acquisisci il numero intero
    poi tramite un ciclo inizi a verificare il resto dividendo per 2 (numero%2):
    se il resto è zero allora stampa a video il 2 e dividi il numero per 2 e fai ripartire il ciclo dal numero diviso per due.
    se il resto è diverso da zero allora verifica con lo stesso metodo se è divisibile per tre.
    se il resto è zero stampa il tre e dividi il numero per tre e fai ripartire il ciclo dal numero diviso per 3.
    cosi via anche aumentando: ovviamente non devi scrivere a mano %2, %3 ma devi gestire anche questi con un ciclo.
    Ti faccio un esempio con 81
    81 divisibile per 2? -> NO
    81 divisibile per 3? -> SI ->Stampa 3 e ricomincia il ciclo con 81/3=27
    27 è divisibile per 2? NO->
    27 è divisibile per 3? SI ->Stampa 3 e ricomincia il ciclo con 27/3=9
    .
    .
    .
    gestisci il tutto fino a quanto non arrivi ad uno ovviamente

  5. #5
    Scusami forse non ho capito il problema. Devi fare la scomposizione in fattori oppure vuoi semplicemente la scomposizione in centinaia migliaia ecc ecc?

  6. #6
    Voglio solo la scomposizione in centinaia migliaia ecc ecc di un numero fornito da input compreso tra 1 e 9999....

  7. #7
    Ragazzi nessuno disposto a darmi una mano per fare quest'esercizio??

  8. #8
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,466
    Dividi per 1000 e ottieni il valore intero della divisione e cosi' via ...

    Ovviamente il codice devi cominciare a scriverlo tu ...
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  9. #9
    Se è come dici tu l'algoritmo è semplice.
    Nelle tue specifiche non c'è scritto quindi io ti illustro 2 scenari

    il più facile:
    - legge il numero da input come stringa (fgets)
    - avrai una stringa del tipo "1234"
    - ora a seconda della lunghezza della stringa tira fuori i risultati
    ad es la stringa è lunga 4 caratterei quindi alla posizione 0 avrai le migliaia, alla posizione 1 le centinaia ecc..
    - mentre fai il passo di sopra converti il carattere letto in numero (atoi)

    il meno facile:
    - leggi il numero da input come intero (scanf)
    - se è maggiore di 1000 cominci a sottrargli 1000 e conti quante volte compi la sottrazione fino a che il numero non diventi inferiore ai 1000
    - quindi stesso discorso per le centinaia, le decine e le unita

    fine


    Ciao

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2024 vBulletin Solutions, Inc. All rights reserved.