Advertisement
Guest User

n parfaits

a guest
Nov 30th, 2015
99
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 0.69 KB | None | 0 0
  1. #include <stdlib.h>
  2. #include <stdio.h>
  3.  
  4. //test si un nombre est parfait
  5. int parf (int n) {
  6.     int m = 0;
  7.     for (int k = 1; k < n; ++k) {
  8.         if (n % k == 0) {
  9.             m += k;
  10.         }
  11.     }
  12.     return (n == m);
  13. }
  14.  
  15. //détermination des n premiers nombres parfaits dans un tableau
  16. int parfait(int *tab, int n) {
  17.     int k = 0;
  18.     int nbatest = 1;
  19.     while (k < n) {
  20.         while (parf(nbatest) != 1) {
  21.             nbatest += 1;
  22.         }
  23.         tab[k] = nbatest;
  24.         ++k;
  25.         ++nbatest;
  26.        
  27.     }
  28.     return *tab;
  29. }
  30.    
  31. //appel de la fonction et affichage du tableau
  32. int main (void) {
  33.     int n;
  34.     scanf("%d", &n);
  35.     int tab[100];
  36.     *tab = parfait(tab, n);
  37.     for (int w = 0; w < n; ++w) {
  38.         printf("%d\n", tab[w]);
  39.     }
  40.     return EXIT_SUCCESS;
  41. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement