求1+2+3+...+n (老题)
2016-06-26 21:07
232 查看
题目 求1+2+3+…+n,要求不能使用乘除法、for、while、if、else、switch、case等关键字及条件判断语句(A?B:C)。 解题 直接求和公式sum=(1+n)n/2,有乘法除法,+-模型*/,需要for
这是一道非常老的面试题,今天又遇到了就记录下吧,等学的更熟练时,再补充解法
#include <bits/stdc++.h> using namespace std; long long Cal(long long n,long long &sum) { n&&Cal(n-1,sum);//利用与门特性//这里我想到了用STL时常见的RE就是因为结构为空,但是执行语句却是读取等操作 return sum+=n; } int main(void) { long long n; while(cin>>n) { long long sum = 0; printf("%I64d\n",Cal(n,sum)); } }
相关文章推荐
- jekyll 安装
- PDO
- Machine Learning Foundations: A Case Study Approach-Regression-Assignment: Predicting House Prices
- 隐马尔可夫模型 (HMM)
- 溜溜学安卓之常用适配器总结
- CSS控制页面
- C#读取系统文件信息(一)——调API读取文件类型
- 死锁
- OpenCV(5)-图像掩码操作(卷积)-锐化
- H5移动端开发学习总结
- 6.1 ctypes基本功能介绍
- 关于网站广告和过滤器的那些事
- jQuery初步
- 无缝滚动
- 互联网金融项目——工作日志(四)之名称解释
- 关于多行子查询中的空值问题,not null
- Junit
- 利用Mail Exchanger (MX) Record原理 发送email
- kindle 新手入门
- mysql字符集转换 过程