In: Computer Science
Using C:
Implement four versions of a function funSum that takes a positive integer n as input and returns the sum of all integers up to and including n that are divisible by 6 or 7: using a for loop in funSum1, using a while loop in funSum2, using a do-while loop in funSum3, and using recursion in funSum4. Your output for the included test code should be:
funSum1(20) = 57
funSum2(20) = 57
funSum3(20) = 57
funSum4(20) = 57
#include <stdio.h>
int funsum1(int n)
{
int sum=0,i=0;
for(i=0;i<=n;i++){
if(i%6==0 || i%7==0)
sum+=i;
}return sum;
}
int funsum2(int n)
{
int sum=0,i=0;
while(i<=n){
if(i%6==0 || i%7==0)
sum+=i;
i++;
}return sum;
}
int funsum3(int n)
{
int sum=0,i=0;
do{
if(i%6==0 || i%7==0)
sum+=i;
i++;
}while(i<=n);
return sum;
}
int funsum4(int n)
{
if(n==0)
return 0;
if(n%6==0 || n%7==0)
return n+funsum4(n-1);
return funsum4(n-1);
}
int main()
{
printf("funsum1(20)=%d\n",funsum1(20));
printf("funsum2(20)=%d\n",funsum2(20));
printf("funsum3(20)=%d\n",funsum3(20));
printf("funsum4(20)=%d\n",funsum4(20));
return 0;
}