• C

writing a function

Write the function odd_sum that accepts a positive integer N as a parameter and returns the sum of the first N odd numbers. A call to odd_sum of the form:

sum = odd_sum(5);

will return the value 25 since 1+3+5+7+9=25

Who is Participating?

Commented:
int odd_sum(int n)
{   int i,sum;

sum=0;
for(i=1; i<n*2; i+=2)sum+=i;
return(sum);
}
0

Commented:
or, simple and fast

int odd_sum( int n )
{
return (n*n);
}

ZOPPO
0

Commented:
Proof:

sum <0...n> (2n + 1) =
sum <0...n> (2n)   + sum <0...n> (1) =
2((n*(n+1))/2)     + (n+1) =
n*n + 2n + 1 =
(n+1)*(n+1)

so, odd_sum(5) = sum<0...4>(2n+1) = n*n                           :o)

ZOPPO
0

progCommented:

*/optimized code/*

int odd_sum(int n)
{
return n * n;
}
0

progCommented:
oops zoppo already thought of that.
0

Commented:
sorry, meant 5*5 instead of n*n in last line .....
0
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.