不使用while,for,if等实现加法

不使用if, while,for,switch等实现从1到10的加法

解:这里使用静态函数和静态变量实现,利用类似的方法也可以实现从1打印到1000

class TheSum{
public:
	TheSum();
	static int GetSum();
private:
	static int N;
	static int sum;
};

int TheSum::N=0;
int TheSum::sum=0;

int TheSum::GetSum()
{
	return sum;
}

TheSum::TheSum()
{
	N++;
	sum+=N;
}

int caculateSum(int n)
{
	TheSum *p=new TheSum[n];
	int sum=TheSum::GetSum();
	delete p;
	return sum;
}

#define MMySizeOf(value)  ((char *)(&value+1) - (char *)&value)

void main()
{
	cout<<caculateSum(10)<<endl;
}

版权声明:本文为博主原创文章,未经博主允许不得转载。

时间: 2024-08-25 13:01:19

不使用while,for,if等实现加法的相关文章

问题 A: 【高精度】被限制的加法

问题 A: [高精度]被限制的加法 时间限制: 1 Sec  内存限制: 16 MB提交: 56  解决: 30[提交][状态][讨论版] 题目描述 据关押修罗王和邪狼监狱的典狱长吹嘘,该监狱自一千年前建成以来,尚未有一个囚犯能够成功地越狱.当然这应该要归功于对囚犯们严格的信息管制,例如囚犯们虽然可以自由地使用计算机,但计算机的内存被密码锁设置为仅有100KB大小,显然,在这小得可怜的内存上想编程进行任何大规模的魔法运算,几乎是不可能完成的任务.但修罗王信奉的格言是“一切皆有可能!”,为了破解掉

算法练习--多项式加法

JS 实现 多项式加法 Array.prototype.existKey = function(propVal){ var i = 0; for(var i = 0;i < this.length; i++){ if(this[i].k == propVal){return i;} } return -1; } function polynAdd(a,b){ //1. parse out each exp var strA = a[0] == '-' ? a : '+' + a; var str

一个基础而奇怪的问题:算法执行加法、乘法、除法性能无区别?

一个基础而奇怪的问题:算法执行加法.乘法.除法性能无区别? 计算机原理分析觉得:加法.乘法和除法的计算性能依次减少,但减少到什么程度? 编写C程序用30次百万数据计算来測试时间差异性,代码例如以下: #include <stdio.h> #include <stdlib.h> #include <time.h> #define N 1000000 void add(float x[], long n) { float sum = 0; for(long i = 0; i

js中的一元加法和一元减法

大多数人都熟悉一元加法和一元减法,它们在 ECMAScript 中的用法与您高中数学中学到的用法相同. 一元加法本质上对数字无任何影响: 1 var iNum = 20; 2 iNum = +iNum; 3 alert(iNum); //输出 "20" 这段代码对数字 20 应用了一元加法,返回的还是 20. 尽管一元加法对数字无作用,但对字符串却有有趣的效果,会把字符串转换成数字. 1 var sNum = "20"; 2 alert(typeof sNum);

【51Nod】1005 大数加法

给出2个大整数A,B,计算A+B的结果. Input 第1行:大数A 第2行:大数B (A,B的长度 <= 10000 需注意:A B有可能为负数) Output 输出A + B Input示例 68932147586 468711654886 Output示例 537643802472 ==================================================================================================== 问题解法

程序设计入门——C语言 第7周编程练习 1多项式加法(5分)

第7周编程练习 依照学术诚信条款,我保证此作业是本人独立完成的. 温馨提示: 1.本次作业属于Online Judge题目,提交后由系统即时判分. 2.学生可以在作业截止时间之前不限次数提交答案,系统将取其中的最高分作为最终成绩. 1 多项式加法(5分) 题目内容: 一个多项式可以表达为x的各次幂与系数乘积的和,比如: 2x6+3x5+12x3+6x+20 现在,你的程序要读入两个多项式,然后输出这两个多项式的和,也就是把对应的幂上的系数相加然后输出. 程序要处理的幂最大为100. 输入格式:

高精度计算(二) /*高精度的加法运算*/

例 高精度加法运算 输入正整数 a 和 b,输出 a+b 的值.0<a,b<=10^250 输入: 第一行:a 第二行:b   输出:a+b 的和. 样例输入: 99    999 样例输出: 1098 分析: (1)加法运算      -- a[7]  a[6]  a[5]  a[4]  a[3]  a[2]  a[1] -+-   0      0    b[5]  b[4]  b[3]  b[2]  b[1] ----------------------------------    

数据结构之一元多项式的加法和乘法

Polynomial.h 1 #define _CRT_SECURE_NO_DEPRECATE 2 #include "Polynomial.h" 3 #include <stdio.h> 4 #include <stdlib.h> 5 6 int ListLength(NormLinkList *L) 7 { 8 int num = 0; 9 Link p = NextPos(L, GetHead(L)); 10 while(p) 11 { 12 num++;

noi1_13_48[实数加法]

高精度小数加法……一开始对齐弄了半天,teacher却告诉我可以固定小数点在数组的100号…… uses math;type arr=array[-1..200] of longint;var a,b,c:arr;procedure putin(var a:arr);var k,i:longint; s:string;begin fillchar(a,sizeof(a),0); readln(s); k:=pos('.',s); a[0]:=102-k; a[-1]:=length(s)-k+1

问题 B: 【高精度】简单高精度加法

问题 B: [高精度]简单高精度加法 时间限制: 1 Sec  内存限制: 64 MB提交: 94  解决: 27[提交][状态][讨论版] 题目描述 修罗王解决了计算机的内存限制问题,终于可以使用电脑进行大型的魔法运算了,他交给邪狼的第一个任务是计算两个非负整数A.B的和,其中A和B的位数在5000位以内. 输入 共两行数据,第一行为一个非负整数A,第二行为一个非负整数B,A.B的位数均在5000以内. 输出 输出一个非负数,即两数之和. 样例输入 1111111111 2222222222