unsigned short n=...;
unsigned long long t[n]={...};
unsigned long long i=...;
void _main(void)
{
ST_helpMsg(try_all(t,n,i)?"oui":"non")
}
int try_all(unsigned long long *t,unsigned short n,unsigned long long i)
{
if (n==1) return ((!i)||(*t==i)) else return (try_all(t+1,n-1,i)||try_all(t+1,n-1,i-*t));
}
OK, là, ça devrait être bon. Pas très compliqué comme défi...
[edit]Edité par Kevin Kofler le 12-01-2002 à 23:05:13[/edit]
paxal Le 13/01/2002 à 00:16 N'empêche qu'il a raison: pas très dur!
bon et bien on a qu'à rendre ça un peu plus fun :
la même chose avec des combinaisons linéaires...
Boss et webmaster de Ti-Fr (ah nan c'est fini ça :p)
Miles Le 13/01/2002 à 14:09 En gros, si il existe un entier non nul, on donne :
void _main(void)
{
ST_helpMsg("oui")
}