Compila ma non parte cosa sbaglio?

di il
20 risposte

20 Risposte - Pagina 2

  • Re: Compila ma non parte cosa sbaglio?

    blackhole ha scritto:


    Se stampo la i mi itera fino a 1000 ( e questo va bene) se stampo x,y (che dovrebbero essere generati casualmente tra 0 e 1000) mi esce sempre 0 per entrambi
    Che x e y siano eguali a 0 non va bene ovviamente. Devi capire perché fornisci questi valori alla funzione.
  • Re: Compila ma non parte cosa sbaglio?

    Comunque sei molto fuori strada.

    Innanzitutto i primi 1000 numeri di Leyland sono molto lunghi, quindi non hai molte alternative oltre a studiarti bene il linguaggio se vuoi arrivare alla soluzione

    https://oeis.org/A076980/b076980.tx

    Se vuoi, invece, trovare le prime decine di soluzioni, una semplice base di partenza potrebbe essere questa
    
    #include<stdio.h>
    #include<inttypes.h>
    
    uint64_t ull_pow(int b, int e){
        uint64_t r = 1;
        while(e-->0)
            r *= b;
        return r;
    }
    
    uint64_t ull_sqrt(uint64_t n){
        uint64_t r = 0;
        while(r*r<=n)
            r++;
        return --r;
    }
    
    int is_Leyland(int n){
        if(n==3)
            return 1;
        uint64_t x, y, z, t = ull_sqrt(n);
        for(x = 2; x <= t; x++)
            for(y = x; y <= t; y++){
                z = ull_pow(x,y) + ull_pow(y,x);
                if(z == n)
                    return 1;
                else if(z > n)
                    break;
            }
        return 0;
    }
    
    int main() {
        int x, y, n = 3, found = 0;
        while(found < 30){
            if(is_Leyland(n)){
                printf("%d\n", n);
                found++;
            }
            n++;
        }
        return 0;
    }
    
  • Re: Compila ma non parte cosa sbaglio?

    @Blackhole: stai scrivendo ""fesserie""!!!

    La sintassi si un linguaggio di programmazione NON TE LA INVENTI sperado che funzioni!

    SI STUDIA per BENISSIMO e solo DOPO si scrivono programmini.

    E' evidente che ti mancano le ""basi"" piu' ""basilari"", OLTRE AL FATTO che strai usando un linguaggio di programmazione, il C, che E' GIA' ROGNOSO DI SUO, pur nella (SUPPOSTA) semplicita' della sintassi.!!
  • Re: Compila ma non parte cosa sbaglio?

    do{
    				x=lrand48()%1000;
    				y=lrand48()%1000;
    				
    			}while(((x%2)!=0)&((y%2)!=0)&(1>y)&(y>x));
    a chi interessasse immettendo questa condizione al posto di quella precedente il programma funziona. grazie a tutti quelli che i hanno aiutato.
  • Re: Compila ma non parte cosa sbaglio?

    A chi interessasse non studio programmazione ma sto iniziando ad entrare in questo mondo passando per astrofisica. quindi mi rendo conto che la mia preparazione e i miei errori possano sembrare stupidi ai vostri occhi.
  • Re: Compila ma non parte cosa sbaglio?

    Non e' questione di errori 'stupidi'
    E' questione di pensare di saltare a pie' pari tutti i passi necessari PRIMA di scrivere anche solo un semplice 'print("Hello World")' pensando che programmare sia SOLO una questione di linguaggio di programmazione.

    NON E' COSI'!

    Il linguaggio di programmazione STA al programmare
    COME
    la lingua Italiana STA al saper fare lo scrittore di fantascienza/giallo/...
Devi accedere o registrarti per scrivere nel forum
20 risposte