Sum of divisors (C)
From LiteratePrograms
This implements the sum of divisors function from number theory in C.
Here d is a divisor of n.
#include <stdio.h>
#include <stdlib.h>
int main(int argc, char *argv[]) {
int d, divisorsum, n;
divisorsum=0;
n=atoi(argv[1]);
for(d=1; d<=n; d++) {
if(n % d == 0) {
divisorsum += d;
}
}
printf("%d\n",divisorsum);
return(0);
For example: Using n=12, we know that the divisors of 12 are: 1,2,3,4,6,12. Therefore
- σ(12) = 1 + 2 + 3 + 4 + 6 + 12 = 28
Here are some running examples.
$ sigma 12 28 $ sigma 5040 19344 $ sigma 100 217
| Download code |