Stampa n-ple ordinate di prodotto costante

di il
5 risposte

Stampa n-ple ordinate di prodotto costante

Ciao a tutti!
Sono davvero agli inizi con il linguaggio C e mi sono imbattuto qualche giorno fa con il problema in oggetto: creare una funzione che prenda in input un numero naturale n, un numero naturale k e un vettore a di lunghezza k e stampi a schermo tutte le k-ple ordinate di prodotto n.
Ci ho ragionato a lungo ma non sono arrivato ne ad una risoluzione iterativa ne ricorsiva...qualche aiuto?

Grazie in anticipo!

5 Risposte

  • Re: Stampa n-ple ordinate di prodotto costante

    Deleus ha scritto:


    ... tutte le k-ple ordinate di prodotto n ...

    Grazie in anticipo!
    ???
    cosa vuol dire ?
  • Re: Stampa n-ple ordinate di prodotto costante

    Per fare un esempio, se n fosse 12 e k fosse 4 il programma stamperebbe le seguenti quaterne:
    1 1 1 12
    1 1 2 6
    1 1 3 4
    1 2 2 3
  • Re: Stampa n-ple ordinate di prodotto costante

    Purtroppo è un problema per persone intelligenti,
    io, che lo sono poco, proverei con tutti i divisori di n presi a k per volta e verificherei per ciascuno se il prodotto è n.
    Non è il massimo ma potrebbe funzionare
  • Re: Stampa n-ple ordinate di prodotto costante

    Ho scritto questo codice che effettivamente risolve il problema nel caso k = 3 e n = 48

    #include <stdio.h>

    int printV(int v[], int inf, int sup){
    for (int i=inf; i<sup; i++)
    printf("%d ",v);
    printf("\n");
    }

    int main()
    {
    int n = 48;
    int a[3];
    a[0] = 2;
    while (a[0]*a[0] <= n)
    {
    if (n % a[0] == 0)
    {
    a[1] = a[0];
    while (a[1]*a[1] <= n/a[0])
    {
    if (n/a[0] % a[1] == 0)
    {
    a[2] = (n/a[0])/a[1];
    printV(a, 0, 3);

    }
    a[1]++;
    }
    }
    a[0]++;
    }
    }

    Nel caso in cui volessi cambiare k dovrei riscrivere il programma aggiungendo un altro ciclo while annidato e così via. Mi domando se esiste un modo ricorsivo di chiamare cicli while annidati. Grazie davvero a chiunque saprà aiutarmi.
  • Re: Stampa n-ple ordinate di prodotto costante

    Aspetta, non credo di aver compreso appieno la tua risposta...potresti aggiungere qualche particolare? Sembra interessante...
Devi accedere o registrarti per scrivere nel forum
5 risposte