Visualizzazione dei risultati da 1 a 5 su 5
  1. #1
    Utente di HTML.it
    Registrato dal
    Aug 2002
    Messaggi
    31

    Listare le permutazioni di un numero

    Ciao ragazzi,
    sono alla ricerca di un algoritmo che, dato un numero N fissato durante l'esecuzione del programa, mostri tutte le permutazioni costituite dai numeri 1,2,3...N senza ripetizioni e senza dare importanza all'ordine.

    Mi spiego meglio con due esempi:

    1° esempio:
    Se N=3, esso dovrà fornire in output UNA SOLA combinazione, per esempio
    (1,2,3)

    o anche (1,3,2) o (2,1,3), perchè a me non interessa l'ordine e non voglio ripetizioni..

    2° esempio
    Se N=4, l'output deve dare solo 3 combinazioni, che potrebbero essere
    (1,2,3)
    (1,2,4)
    (2,3,4)

    qualche idea?
    grazie.

  2. #2
    Moderatore di Programmazione L'avatar di LeleFT
    Registrato dal
    Jun 2003
    Messaggi
    17,328

    Moderazione

    Innanzitutto non hai specificato il linguaggio, come richiesto dal Regolamento interno.
    In secondo luogo, se sei alla ricerca di un algoritmo già pronto, o non hai intenzione di svilupparlo tu, ma farlo sviluppare da altri, oltre ad utilizzare i normali strumenti di ricerca (Google in primis), dovresti postare nel forum "Offro Lavoro / Collaborazione".


    Ciao.
    "Perchè spendere anche solo 5 dollari per un S.O., quando posso averne uno gratis e spendere quei 5 dollari per 5 bottiglie di birra?" [Jon "maddog" Hall]
    Fatti non foste a viver come bruti, ma per seguir virtute e canoscenza

  3. #3
    Utente di HTML.it
    Registrato dal
    Aug 2002
    Messaggi
    31
    temo vi sia un fraintendimento.
    Non ho specificato il linguaggio perchè ho parlato di "algoritmo", non di "implementazione" e per definizione gli algoritmi sono astratti e possono essere implementati in un qualsiasi linguaggio..

    L'implementazione me la posso fare tranquillamente io, mi servirebbe solo un consiglio sul "come procedere dal punto di vista concettuale", se qualcuno ha qualche idea!

  4. #4
    Moderatore di Programmazione L'avatar di LeleFT
    Registrato dal
    Jun 2003
    Messaggi
    17,328
    Originariamente inviato da supern3t
    temo vi sia un fraintendimento.
    Non ho specificato il linguaggio perchè ho parlato di "algoritmo", non di "implementazione" e per definizione gli algoritmi sono astratti e possono essere implementati in un qualsiasi linguaggio..

    L'implementazione me la posso fare tranquillamente io, mi servirebbe solo un consiglio sul "come procedere dal punto di vista concettuale", se qualcuno ha qualche idea!
    D'accordo... questa informazione andava comunque specificata nel titolo, come richiesto dal regolamento.

    Aggiungo io.


    Ciao.
    "Perchè spendere anche solo 5 dollari per un S.O., quando posso averne uno gratis e spendere quei 5 dollari per 5 bottiglie di birra?" [Jon "maddog" Hall]
    Fatti non foste a viver come bruti, ma per seguir virtute e canoscenza

  5. #5
    Utente bannato
    Registrato dal
    Feb 2004
    Messaggi
    2,803
    ma l'output deve essere una serie di triple di numeri? non lo hai specificato ma dall'esempio fai capire così..anche perchè non avrebbe senso altrimenti

    ps: cmq parli di combinazioni senza ripetizione, non permutazioni

    ecco il codice nel caso delle triple, non credo esista al mondo un algoritmo più compatto
    codice:
    #include<stdio.h>
    // N elementi a gruppi di k = n! / (k!·(n - k)!)
    int  main()
    {
       int i,j,x,N=4; 
    for (i=1;i<=N;i++)for (j=i+1 ;j<=N;j++)for (x=j+1 ;x<=N;x++) printf("%d - %d - %d\n",i,j,x);
     getchar();
    }

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