Pagina 1 di 3 1 2 3 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 22

Discussione: Numeri al cubo

  1. #1

    Numeri al cubo

    Ciao ragazzi, mi aiutate gentilmente a risolvere questo esercizio? Grazie in anticipo.
    -Trovare i numeri minori di 1000 che sono uguali alla somma dei cubi delle loro cifre. Non so come risolvere questo esercizio. Un aiuto per favore. Grazie in anticipo di nuovo.

  2. #2
    Utente di HTML.it L'avatar di minomic
    Registrato dal
    Nov 2010
    Messaggi
    635
    Come sai, qui non si svolgono esercizi. Però ti posso dare un'idea:
    - minori di 1000 --> ciclo fino a 1000 e poi controlli ogni singolo numero
    - somma dei cubi delle cifre: devi ottenere le cifre da cui è composto un numero. Ad esempio se il numero è 123 devi ottenere 1, 2 e 3. Un modo semplice è quello di convertire il numero in stringa e poi accedere ai vari caratteri. Quando hai fatto questo hai praticamente finito perché devi solo fare la somma dei cubi e vedere se è uguale al numero che stai analizzando.

  3. #3
    Grazie per la risposta. Vorrei sapere se esiste un modo più semplice perché non so come convertire un numero in stringa ecc.

  4. #4
    Utente di HTML.it L'avatar di minomic
    Registrato dal
    Nov 2010
    Messaggi
    635
    Non so se esistano modi più semplici, ma ti garantisco che questo è davvero facile! Per convertire un numero in stringa c'è l'apposita funzione valueOf:

    codice:
    String stringa = String.valueOf(numero);

  5. #5
    Grazie ancora per la risposta. Mi potresti spiegare anche come si fa a prendere una singola cifra e non tutto il numero? Grazie in anticipo.

  6. #6
    Utente di HTML.it L'avatar di minomic
    Registrato dal
    Nov 2010
    Messaggi
    635
    Devi accedere ad un carattere della stringa (con il metodo charAt). Così facendo però ottieni il carattere: se vuoi il numero corrispondente basta sottrarre '0', cioè il valore del carattere '0'. Quindi

    codice:
    int numeroDiPosto_i = stringa.charAt(i) - '0';

  7. #7
    Mi puoi dire se sto andando bene? Se si cosa dovrei fare dopo questo?

    codice:
    package numcubo;
    public class numcubo {
     public static void main(String[] args) {
      // TODO Auto-generated method stub
      for(int i=0; i<1000; i++)
      {
       String stringa = String.valueOf(i);
       int numeroDiPosto_i = stringa.charAt(i) - '0';
       System.out.println(i);
      }
     }
    }

  8. #8
    Utente di HTML.it L'avatar di minomic
    Registrato dal
    Nov 2010
    Messaggi
    635
    Beh non proprio: quel codice con il charAt va messo dentro ad un ciclo for, in modo da estrarre tutte le cifre che compongono il numero. Quando hai tutti i numeri fai la somma dei cubi e vedi se coincide con il numero.

  9. #9
    Dovrebbe essere così??

    codice:
    package numcubo;
    public class numcubo {
     public static void main(String[] args) {
      // TODO Auto-generated method stub
      for(int i=0; i<1000; i++)
      {
       String stringa = String.valueOf(i);
       for (int cont=0; cont<1000; cont++)
       { 
       int numeroDiPosto_i = stringa.charAt(i) - '0';
       int numcubo;
       numcubo=(int) Math.pow(i, 3);
       
       if(numcubo==i)
       {
        System.out.println(i);
       }
          }
      }
     }
    }

  10. #10
    Utente di HTML.it L'avatar di minomic
    Registrato dal
    Nov 2010
    Messaggi
    635
    Purtroppo no... Il ciclo for interno non deve andare fino a 1000 ma fino alla lunghezza del numero (che puoi ottenere con il metodo length della classe String).
    Inoltre devi fare la somma dei cubi, e nel tuo codice non vedo somme...

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 © 2025 vBulletin Solutions, Inc. All rights reserved.