Fonction 91 mccarthy

Soyez le premier à donner votre avis sur cette source.

Snippet vu 7 290 fois - Téléchargée 29 fois

Contenu du snippet

Implémentation de la fonction 91 de McCarthy (c'est très simple). Si vous donnez une valeur inférieure ou égale à 101 la fonction vous retournera 91.

Source / Exemple :


#include <stdio.h>
/*
Fonction 91 McCarthy

http://www.Software-DS.com

Compilation :
gcc -o McCarthy Fonction91McCarthy.c

  • /
int func91McCarthy(int x); int main(void) { int x; printf("Si vous entrez une valeur <101, vous obtiendrez 91."); do { printf("\nx= "); scanf("%d",&x); } while(x<0); printf("\n\nResultats: %d\n", func91McCarthy(x)); printf("Fin\n"); } /* main */ int func91McCarthy(int x) { if (x>100) return (x-10); else return (func91McCarthy(func91McCarthy(x+11))); } /* func91McCarthy */

A voir également

Ajouter un commentaire Commentaires
Messages postés
241
Date d'inscription
mardi 29 octobre 2002
Statut
Membre
Dernière intervention
23 janvier 2006

vecchio56 > Oui c est vrai qu audebut c est tres bizarre, et meme tres chaint, mais comme je suis oblige d en faire, j ai du m interesser un minimum, meme si je prefere le C et le C++. Je trouve que c est un langage tres propre, mais je n ai jamais fait un programme complet avec (l objectif du programme de prepa est d apprendre l algorithmique et un peu d informatique theorique, pas de faire des programmes entiers)

Kirua > En fait, pour Caml 1997 ca fait vieux. C est un langage developpe a l INRIA et de nombreuses versions sont apparues depuis. Caml-light est une sorte de brouillon en fait, car il ne compile pas en code natif par exemple, et c est un systeme assez minimal. OCaml est apparu depuis, est oriente objet, compile en code natif sur Unix et Windows (et MacOS je crois), et possede aussi une machine virtuelle un peu a la java. De plus d apres les concepteurs de Caml, OCaml est au moins 2x plus rapide que Caml-light.

BruNews > Il est vrai qu un algorithme recursif est tres souvent plus rapide qu alogorithme iteratif. Cependant il ne faut pas oublier que la fiabilite d un code compte aussi. Passer des heures a debugger a cause d effets de bord subtiles est penible et peut etre un inconvenient plus grand que la difference de performances a l execution. Un autre point particulierement important est l aspect fiable des programmes ecris dans des langages fonctionnels comme OCaml. Il est en effet possible de prouver mathematiquement le bon fonctionnement d un algorithme en Caml (surtout si l algorithme est recursif et n utilise pas de variables au sens du C), ce qui est indispensable dans certains domaines. C est pour cela que certaines compagnies tres importantes utilisent des langages de ce type (par exemple je crois qu Airbus travaille avec des chercheurs en info pour prouver leurs programmes. Je ne sais pas si ils sont ecrit en Caml, mais c est important a noter).

Je tiens quand meme a signaler que je ne suis pas du tout un extremiste de la recursivite. Je n ecris presque jamais de fonctions recursives en C...

Juste un petit exemple d algo recursif qu on le veuille ou non : l algo Mini-Max ou alpha-beta utilise dans les jeux d echecs entre autres (il est peut etre possible de le faire iterativement, mais je ne l ai jamais vu).
Messages postés
21041
Date d'inscription
jeudi 23 janvier 2003
Statut
Modérateur
Dernière intervention
21 août 2019
29
MetalDwarf > tu as jete un oeil sur l'implementation de qsort() de la CRT ? Tu peux le voir sinon dans ma source sur Villes <=> CP, je l'ai detourne pour enlever les pointeurs sur callback de tri. Y a pas un iota de recursivite la dedans et je n'ai pas encore pu trouver un autre algo qui fasse mieux, pourtant j'en ai fai des tests.
Messages postés
3006
Date d'inscription
dimanche 14 avril 2002
Statut
Membre
Dernière intervention
31 décembre 2008

1997 ça fait pas encore vieux, le C est qd même de loin son ainé, et sa syntaxe est tjs aussi agréable :)
Messages postés
6535
Date d'inscription
lundi 16 décembre 2002
Statut
Modérateur
Dernière intervention
22 août 2010
7
j'ai fait ca en premiere année de deug mias, mais il faut dire qu'on est pa allé très loin, et comme je connaissais déja le c++, j'ai eu du mal à m'interesser...
Messages postés
241
Date d'inscription
mardi 29 octobre 2002
Statut
Membre
Dernière intervention
23 janvier 2006

T es en prepa?
C est vrai que sur le plan de la syntaxe c est un peu chiant (surtout Caml-Light, qui date quand meme de 1997!!), et qu a mon avis ce n est quand meme pas aussi bien que le C, mais c est assez puissant.
On a fait recemment des TPO sur les grands nombres. C est impressionnant la facilite avec laquelle ca se fait en Caml!! Pareil pour les operations sur les arbres.

En plus au debut j avais HORREUR de la recursivite et finalement c est tres agreable a utiliser, et tres naturel (meme si parfois mes instincts iteratifs du C reviennent...)
Afficher les 19 commentaires

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.