[ create a new paste ] login | about

Link: http://codepad.org/CwfSn3Nr    [ raw code | output | fork ]

C, pasted on Oct 13:
#include <stdio.h>

int main(int argc, char **argv) {
	int i;
	int num;
	int divsum;
	int divisor;
	int divisors[512];

	for (num = 2; num <= 512; num++) {
		i = 0;
		divsum = 0;
		for (divisor = 1; divisor <= num / 2; divisor++) {
			if (num % divisor == 0) {
				divsum += divisor;
				divisors[i++] = divisor;
			}
		}
		divisors[i] = 0;
		if (num == divsum) {
			printf("%d = %d", num, divisors[0]);
			i = 1;
			while(divisors[i] != 0) {
				printf(" + %d", divisors[i++]);
			}
			puts("");
		}
	}
	return 0;
}


Output:
1
2
3
6 = 1 + 2 + 3
28 = 1 + 2 + 4 + 7 + 14
496 = 1 + 2 + 4 + 8 + 16 + 31 + 62 + 124 + 248


Create a new paste based on this one


Comments: