Divisors (C)
From LiteratePrograms
This implements the divisors function from number theory in C. Divisors lists the divisors 'd' of a given number n.
#include <stdio.h> #include <stdlib.h> int main(int argc, char *argv[]) { int d, n; n=atoi(argv[1]); if(n>1) { printf("1, "); for(d=2; d<n; d++) { if(n % d == 0) { printf("%d, ",d); } } printf("%d\n",n); } else if(n==1) { printf("1\n"); } else { printf("ERROR: use positive integers only\n"); } return(0); }
Here are some running examples.
$ divisors 12 1, 2, 3, 4, 6, 12 $ divisors 120 1, 2, 3, 4, 5, 6, 8, 10, 12, 15, 20, 24, 30, 40, 60, 120 $ divisors 6 1, 2, 3, 6 $ divisors 5 1, 5
Download code |