47、求1+2+3+...+n

一、题目

求1+2+3+...+n,要求不能使用乘除法、for、while、if、else、switch、case等关键字及条件判断语句(A?B:C)。

二、解法

 1 public class Solution {
 2         /*1.需利用逻辑与的短路特性实现递归终止。
 3         2.当n==0时,(n>0)&&((sum+=Sum_Solution(n-1))>0)只执行前面的判断,为false,然后直接返回0;
 4         3.当n>0时,执行sum+=Sum_Solution(n-1),实现递归计算Sum_Solution(n)。*/
 5     public int Sum_Solution(int n) {
 6         int sum = n;
 7         boolean b = (n>0)&&((sum+=Sum_Solution(n-1))>0);
 8         return sum;
 9     }
10 }
时间: 2024-10-11 19:24:08

47、求1+2+3+...+n的相关文章

1140: 零起点学算法47——求平均值

1140: 零起点学算法47--求平均值 Time Limit: 1 Sec  Memory Limit: 64 MB   64bit IO Format: %lldSubmitted: 1408  Accepted: 873[Submit][Status][Web Board] Description 输入一些整数,求平均值 Input 多组测试数据 首先输入1个整数n表示测试组数 然后每行首先输入1个整数m,再输入m个整数 Output 对于每组测试数据输出1行,内容为m个整数的平均值,保留

例4-7 求1!+2!+…+100!

例4-7 求1!+2!+-+100! 计算 1!+2!+-+100! 程序核心--两个循环的镶嵌 程序 #include<stdio.h> int main() { int i,j,n; double sum,result; sum=0; for(i=1;i<=100;i++) { result=1; for(j=1;j<=i;j++) result*=j; sum=sum+result; } printf("1!+2!+-+100!=%e\n",sum); r

浙大版《C语言程序设计(第3版)》题目集 练习4-7 求e的近似值 (15 分)

练习4-7 求e的近似值 (15 分) 自然常数e可以用级数1+1/1!+1/2!+?+1/n!来近似计算.本题要求对给定的非负整数n,求该级数的前n项和. 输入格式: 输入第一行中给出非负整数n(≤1000). 输出格式: 在一行中输出部分和的值,保留小数点后八位. 输入样例: 10 输出样例: 2.71828180 思路:用函数递归写阶乘,然后循环相加. 代码如下: #include <stdio.h> double f(double n); int main() { double n,

[剑指Offer] 47.求1+2+3+...+n

题目描述 求1+2+3+...+n,要求不能使用乘除法.for.while.if.else.switch.case等关键字及条件判断语句(A?B:C). [思路]用&&的短路思想来求和 1 class Solution { 2 public: 3 int Sum_Solution(int n) { 4 int sum = n; 5 sum && (sum += Sum_Solution(n - 1)); 6 return sum; 7 } 8 };

47求1+2+3+...+n

题目描述 求1+2+3+...+n,要求不能使用乘除法.for.while.if.else.switch.case等关键字及条件判断语句(A?B:C). 用递归 1 public class Solution { 2 public int Sum_Solution(int n) { 3 int sum = n; 4 if(n==0) return 0 ; 5 sum+=Sum_Solution(n-1); 6 return sum; 7 } 8 } 但是用到了if 如何不用if 就终止递归呢?

hdu 2857 求点关于线段的对称点

本来很简单的一个题,但是有个大坑: 因为模板中Tline用到了直线的一般方程ax+by+c=0,所以有种很坑的情况需要特判: 斜率不存在啊喂 老子坑了一下午2333 1 #include <math.h> 2 #include <stdio.h> 3 4 #define eps 1e-6 5 #define PI acos(-1.0)//3.14159265358979323846 6 //判断一个数是否为0,是则返回true,否则返回false 7 #define zero(x)

数据结构与算法80道

1. 把二元查找树转变成排序的双向链表 题目: 输入一棵二元查找树,将该二元查找树转换成一个排序的双向链表. 要求不能创建任何新的结点,只调整指针的指向. 10 / \ 6 14 / \ / \ 4 8 12 16 转换成双向链表 4=6=8=10=12=14=16. 首先我们定义的二元查找树 节点的数据结构如下: struct BSTreeNode { int m_nValue; // value of node BSTreeNode *m_pLeft; // left child of no

初学数据挖掘——相似性度量

好久没有写这个了.也就是在去年到今年这个时间段里,同时决定好几件事情.第一:考研.第二:以后方向就是大数据或者是叫数据挖掘.这两件事当然是有联系的,第一件事就是考研考到北京,接着研究生的方向就是数据挖掘了吧.在一边准备考研的同时,还必须得一边准备着数据挖掘方面的知识.无奈本科前三年这方面接触得极少,只好利用现在的时间来恶补了. 不久前买了一边<集体智慧编程>,开篇即开始讲算法,或者是整本书都是在讲算法,而第一个算法就是——相似度度量.这个在现在用得非常多,在QQ音乐等音乐播放器上有类似“猜你喜

IP地址格式输出

本实例:输入一个32位二进制的数,每隔八位分开将其转换为十进制以IP格式输出. 1 #include <stdio.h> 2 /* 3 以IP地址形式输出 4 */ 5 int main(void) 6 { 7 int i; 8 int ip[4]={0}; 9 char a[33]; 10 printf("please input binary number:\n"); 11 scanf("%s",a);//puts(a); 12 for(i=0;i&

.NET面试题集锦(Part一)

一.前言部分 文中的问题及答案多收集整理自网络,不保证100%准确,还望斟酌采纳. 1.面向对象的思想主要包括什么? 答:任何事物都可以理解为对象,其主要特征: 继承.封装.多态.特点:代码好维护,安全,隐藏信息 2.什么是ASP.net中的用户控件? 答:扩展名为*.ascx,跟*.aspx在结构上相似,是指页面中加载的功能块,只是用户控件不能单独作为页面运行, 必须嵌入到*.aspx页面或其它用户控件中使用. 3.什么叫应用程序域?什么是受管制的代码?什么是强类型系统?什么是装箱和拆箱?什么