Advertisement
Guest User

Untitled

a guest
Oct 19th, 2017
61
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 0.74 KB | None | 0 0
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3.  
  4. int* sigma(int n);
  5.  
  6. int main() {
  7.   int* p = sigma(52);
  8.   if (p) {
  9.     for (int i=0; i<sizeof(p)/sizeof(p[0]); i++) {
  10.       printf("%d\n", p[i]);
  11.     }
  12.     free(p);
  13.   }
  14.   return 0;
  15. }
  16.  
  17. int* sigma(int n) {
  18.   int factorsTemp[n/2];
  19.  
  20.   int position = 0;
  21.   for (int i=1; i<=n/2; i++) {
  22.     if (n%i==0) {
  23.       factorsTemp[position] = i;
  24.       position++;
  25.     }
  26.   }
  27.   printf("pos: %d\n", position);
  28.  
  29.   int* factors;
  30.   factors = (int *) malloc(sizeof(int)*position);
  31.  
  32.   if (!factors) {
  33.     return NULL;
  34.   }
  35.  
  36.   printf("size: %lu\n", sizeof(factors));
  37.   for (int i=0; i<sizeof(factors)/sizeof(factors[0]); i++) {
  38.     printf("%d\n", i);
  39.     factors[i] = factorsTemp[i];
  40.   }
  41.  
  42.   return 0;
  43. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement