Write a recursive function to find all divisors of a number.
#include<stdio.h> int Divisor_Sum_Rec(int); int main() { int num,sum; printf("Enter Number = "); scanf("%d",&num); sum = Divisor_Sum_Rec(num); printf("\nSum of Divisors = %d\n",sum); return 0; } int Divisor_Sum_Rec(int n) { static int s = 0,i = 1; if(i < n) { if(!(n % i)) { s = s + i; printf("%d ",i); } i = i + 1; Divisor_Sum_Rec(n); } return s; }
Output
Enter Number = 32 1 2 4 8 16 Sum of Divisors = 31 Enter Number = 19 1 Sum of Divisors = 1