.

di il
5 risposte

.

.

5 Risposte

  • Re: .

    Parti considerando una divisione per 3 e poi continua tu...
  • Re: .

    In che senso dividendo per tre? Cioè ho compreso cosa tu voglia dire, ma non so a cosa o meglio come potrebbe servirmi...
  • Re: .

    Cioè io ho pensato già a questo modo, volevo sapere se ce ne fosse uno più veloce ed efficace.

    If(mese<=3) {
    trimestre=1;
    }else if(mese<=6) {
    trimestre=2;
    }else if(mese<=9) {
    trimestre=3;
    }else{
    trimestre=4;
    }
  • Re: .

    @oregon: forse una divisione per 4 per avere il TRImestre?

    @Herondale_Jace: la tua soluzione va benissimo, anche se si puo' fare decisamente meglio.
    La differenza di tempi di esecuzione la puoi aprezzare solo se esegui questo pezzetto di codice qualcosa come:

    100.000.000

    di volte AL SECONDO

    ALTRIMENTI e' assolutamente inaprezzabile.

    Per fare DECISAMENTE meglio serve, pero', DEVI:

    1) conoscere le tabelline (1x1 = 1, 1x2 = 2, ... 4x3 = ... )
    2) conoscere l'Italiano (TRImestre)
    3) avere dimestichezza con le proprieta' della divisione: prendo la parte intera della divisione ( floor(x/4) = ... )
    4) avere dimestichezza con i numeri con la virgola (floor(x*0.25) = ...)
    5) avere dimestichezza con le espressioni complesse ( floor((m-1)*0.25)+1 = ... )
    6) sapere come il computer rappresenta i mesi (gennaio = 1, ...)

    Insomma: NON e' banale

    NB: se pensi che ti stia prendendo in giro, HAI PERFETTAMENTE RAGIONE

    MA

    in quello che ti ho scritto C'E' ANCHE la risposta alla tua domanda
  • Re: .

    Pensavo 4 e scrivevo 3 ...

    Ok ...una divisione per 4...

    (mese-1) / 4

    senza if ... Dai provaci
Devi accedere o registrarti per scrivere nel forum
5 risposte