Chinaunix首页 | 论坛 | 博客
  • 博客访问: 229943
  • 博文数量: 41
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 407
  • 用 户 组: 普通用户
  • 注册时间: 2013-06-27 13:42
文章分类

全部博文(41)

文章存档

2016年(1)

2015年(18)

2014年(22)

我的朋友

分类: Java

2015-02-17 17:20:38



-- 求1+2+...+n
    >> 题目:求1+2+...+n,要求不能使用乘除法、for、while、if、else、switch、case等关键字及条件判断语句
    >> 解题思路:使用数组初始化,在构造函数中调用。但是仅限于c++。也可以使用C函数指针,f[2]其中0是递归的,1是求和的。


-- 不同加减乘除做加法
    >> 题目:写一个函数,求两个正数之和,要求在函数体内不得使用加减乘除。
    >> 解题思路:也是很简单,就是用位运算来替代,计算出两个数,第一个是两个数求异或,第二个数是两个数求与运算并左移一位,如果第二个数为0,说明已经得到和值。返回第一个数即可。

点击(此处)折叠或打开

  1.     public int add(int num1, int num2) {
  2.         int sum, carry;
  3.         do {
  4.             sum = num1 ^ num2;
  5.             carry = (num1 & num2) << 1;
  6.             
  7.             num1 = sum;
  8.             num2 = carry;
  9.         } while (num2 != 0);
  10.         
  11.         return num1;
  12.     }


阅读(2473) | 评论(0) | 转发(0) |
0

上一篇:Math例题分析

下一篇:指针与数组

给主人留下些什么吧!~~