Title: Seek 1+2+...+n, the request cannot use multiplication and division method \for\while\if\else\switch\case and so on key word and Condition judgment statement (A? B:C).
You can use function inheritance, recursive invocation, each recursive value minus 1, using the negation operation (!), that is, not 0 is 0, 0 is 1.
Code:
* * * * * main.cpp * * * Created on:2014.7.12 *
This column more wonderful content: http://www.bianceng.cnhttp:// www.bianceng.cn/Programming/sjjg/
* author:spike
/
#include <stdio.h>
#include < stdlib.h>
#include <string.h>
#include <math.h>
using namespace std;
Class A {public
:
virtual size_t Sum (size_t N) {return
0;
}
};
A * array[2];
Class B:public A {public
:
virtual size_t Sum (size_t N) {return
array[!! N]->sum (n-1) + N;
}
};
int Sum (int n) {
a A;
b b;
Array[0] = &a;
ARRAY[1] = &b;
int value = Array[1]->sum (n);
return value;
}
int main (void)
{
size_t result = Sum;
printf ("result =%d\n", result);
return 0;
}
Output:
result = 55
Author: csdn Blog Caroline-wendy