#include #include #include #define PI 3.1416 int calcNEntiers( int n ) { int S = 0; for( int i = 1; i <= n ; i ++ ) { S = S + i; } return S; } int calcNEntiersRecurs( int n ) { if( n == 0 ) return 0; return n + calcNEntiersRecurs( n - 1 ); } int calcNFact( int n ) { int Fact = 1; for( int i = 1; i <= n ; i ++ ) { Fact = Fact * i; } return Fact; } int calcNFactRecurs( int n ) { if( n == 0 ) return 1; return n * calcNFactRecurs( n - 1 ); } double calcPuis( double x, double n ) { if( x < 0 ) return -1; return exp( n * log(x) ); } double calcPuis2( double x, int n ) { if( n == 0 ) return 1; return calcPuis2( x, n - 1 ) * x; // Rq formule x(n+1) / x impossible car pas // de condition d'arret } double calcLogbase( double x, double base ) { return log(x) / log(base); } double radian2degre( double rad ) { return (rad * 180 / PI); } double degre2radian( double deg ) { return (deg * PI) / 180; } void main() { int r1, r2, n; double dx, dn, dr1, dr2; float saisiescanf; // menage ecran clrscr(); fflush(stdin); // calcul de n entiers printf( "\nSomme de n entier (saisir n): " ); scanf( "%d", &n ); r1 = calcNEntiers( n ); r2 = calcNEntiersRecurs( n ); printf( "\nResultat 1->%d, 2->%d\n", r1, r2 ); // Factoriel printf( "\nFactoriel n (saisir n): " ); scanf( "%d", &n ); r1 = calcNFact( n ); r2 = calcNFactRecurs( n ); printf( "\nResultat 1->%d, 2->%d\n", r1, r2 ); // Puissance printf( "\nFactorielpuissance X^N (saisir x puis n): " ); scanf( "%f", &saisiescanf ); dx = saisiescanf; scanf( "%f", &saisiescanf ); dn = saisiescanf; dr1 = calcPuis( dx, dn ); dr2 = calcPuis2( dx, (int)dn ); printf( "\nResultat 1->%f, 2->%f\n", (float)dr1, (float)dr2 ); // log printf( "\nLog10(10) = %f\n", (float)calcLogbase( 10, 10 ) ); printf( "\nradian2degre(2PI)=%f\n", (float)radian2degre( 2 * PI ) ); printf( "\ndegre2radian(360)=%f\n", (float)degre2radian(360) ); getch(); }