不用while if 循环求 1到n的和,还用到了!!这样的运算符

很好的题目。开始我也没有想出来。

不用while if 循环求 1到n的和

给了很多种解法,第一种是构造函数,然后累加static变量

第二种是虚函数,有父类子类,父类的结束,然后用 !!n来让 n不为0,都调用 数组下标[1]的,为0都调用[0]的。

第三种,函数指针类似虚函数,一个数组,两种函数指针,用!!n来分别调用。

第四种,利用模板偏特化来处理。但是编译器,对于递归深度有限制,所以n不能太大,不如上面几种方法通用。

时间: 2024-10-30 12:23:47

不用while if 循环求 1到n的和,还用到了!!这样的运算符的相关文章

asp.net 不用控件 循环输出数据库数据的方法

不使用什么repeater gridview之类的控件,怎么才能输出数据库的数据到一个table ,我用response.write在后台,拼接 table 代码可以输出 但总是在页面的最上面 , 是不是要在aspx页面相应位置用<% %> 循环输出 但又提示找不到我后台填充的DATASET,因为听说公司做asp.net是不用控件的,想知道他们是怎么做输出数据库表格的,还请高手帮帮忙,谢谢了. 不明白来问我后台代码public string test = "";    pr

用for和while循环求e的值[e=1+1/1!+1/2!+1/3!+1/4!+1/5!+...+1/n!]

/*编敲代码,依据下面公式求e的值. 要求用两种方法计算: 1)for循环.计算前50项 2)while循环,直至最后一项的值小于10-4 e=1+1/1!+1/2!+1/3!+1/4!+1/5!+...+1/n! */ #include<stdio.h> //===================================================== //用for求e的值 double For() { double sum=1,temp=1; int i; for(i=1;i&

二维数组循环求出最大子数组

package shengcheng; import java.util.Scanner; import org.junit.Test; public class ErweiXunhuan { @Test public void fun() { int [][]a=new int[4][8]; Scanner write=new Scanner(System.in); for(int i=0;i<4;i++) { for(int j=0;j<4;j++) { a[i][j]=write.nex

for循环求交集

for循环方式求交集 #!/usr/bin/env python #coding:utf-8 #取交集 #定义两个序列对象,求alist与blist对象的交集元素 alist = [2,9,3,4,5,6,7,8] blist = [9,2,1,10,33,2,3] #定义一个空list对象,放最终的结果 reslut = [] #遍历alist对象 for x in alist: if x in blist: #如果alist对象中有元素在blist对象里则添加到reslut对象 reslut

用for循环求1-100的所有数的和

2.求1-100的所有数的和 x=0for y in range (1,101): x=x+yprint(x)#Python for循环中可以循环一个列表或者某一个字符串下面是for的基本格式,英文是格式不变的:for 变量 in 列表: 过程else: #cla= ["a", "b", "c", "Python"]cla是我们自己命名的之后带等于号这个是列表的意思[ ],在[ ]放入需要循环的值 #除了自定义的列表,我们还能

不用【加减乘除】求两个整数之和

首先我们可以分析人们是如何做十进制的加法的,比如是如何得出5+17=22这个结果的.实际上,我们可以分成三步进行: 只做各位相加不进位,此时相加的结果是12(个位数5和7相加不要进位是2,十位数0和1相加结果是1): 做进位,5+7中有进位,进位的值是10;第三步把前面两个结果加起来,12+10的结果是22,刚好5+17=22. 我们一直在想,求两数之和四则运算都不能用,那还能用什么?对数字做运算,除了四则运算之外,也就只剩下位运算了.位运算是针对二进制的,我们就以二进制再来分析一下前面的三步走

二维数组循环求最大子数组

一.题目要求 输入一个二维整形数组,数组里有正数也有负数. 二维数组首尾相接,象个一条首尾相接带子一样. 数组中连续的一个或多个整数组成一个子数组,每个子数组都有一个和. 求所有子数组的和的最大值. 要求时间复杂度为O(n)题目:返回一个二维整数数组中最大子数组的和 二.源代码 #include<iostream.h> int main() {  int x,y,n,m;  int s[10][20];  int sum[10][20]; cout<<"请输入3行4列的矩

C语言用分别用递归和循环求数字的阶乘的方法

以下代码均为 自己 实现,嘻嘻! 参考文章:http://blog.csdn.net/talk_8/article/details/46289683 循环法 int CalFactorial(int x) { int sum=1; for(int i=x;i>0;i--) { sum=sum*i; } return sum; } 递归法 //递归 int CalculateFactorial(int x) { if(x>1) { return CalculateFactorial(x-1)*x

不用for loop循环一个读取一个文件

怎样在不使用for loop的情况下循环读取一个文件并将内容显示出来呢? #!/usr/bin/env python #coding:utf-8 #@Author:Andy # Date: 2017/6/13 """ if you want to process an iterable object ,but you don't want to use loop """ # method 1 with open('test.txt') as f: