位运算实现一些小算法
package com.asiainfo.cem_volte_hbase;/*** @ClassName Test* @Description 有意思的小算法* @Author qianxl* @Date 2019-08-02 17:34* @Version 1.0**/
public class Test {/***
* @param num1
* @param num2* @description: 写一个函数,求两个整数之和,要求在函数体内不得使用+、-、*、/四则运算符号。* @return:* @author qianxl* @date: 2019/8/2 18:22* @since 1.0*/public static void add(int num1, int num2){int temp = 0;while (num1 != 0){temp = num1 ^ num2;num1 = (num1 & num2) << 1;num2 =temp;}System.out.println(num2);}/**** @param n* @description: 求1+2+3+…+n,要求不能使用乘除法、for、while、if、else、switch、case等关键字及条件判断语句(A?B:C)* @return: {@link int}* @author qianxl* @date: 2019/8/2 18:43* @since 1.0*/public int sum(int n) {int sum =n;boolean t = n!=0 && (sum +=sum(n-1)) !=0;return sum;}public static int sum2(int n) {if (n == 0) {return n;}else{int sum = sum2(n-1) +n;return sum;}}/**** @param num1* @param num2* @description: 写一个函数,求两个整数之差,要求在函数体内不得使用+、-、*、/四则运算符号* @return: {@link int}* @author qianxl* @date: 2019/8/2 19:29* @since 1.0*/public static int miners (int num1, int num2) {return num1 ^ num2;}public static void main(String arg[]){add(3, 4);int i = sum2(5);System.out.println(i+"结果");int miners = miners(7, 6);System.out.println(miners + "减法 ");}
}
https://mp.weixin.qq.com/s/PKzgPN4CdCD40saDOfRGlA
位运算实现一些小算法相关推荐
- 技术图文:位运算技术在求解算法题中的应用
背景 前段时间,在知识星球立了一个Flag,这是总结Leetcode刷题的第一篇图文. 在总结这篇图文的时候,顺便把遇到的坑写了两篇辅助的图文,大家可以参考一下: 有符号整型的数据范围为什么负数比正数 ...
- hdu3006 状态压缩+位运算+hash(小想法题)
题意: 给了n个集合,问你这n个集合可以组合出多少种集合,可以自己,也可以两个,也可以三个....也可以n个集合组在一起. 思路: 是个小想法题目,要用到二进制压缩,位运算, ...
- Algorithm:位运算的这些小技巧你知道吗?
目录 位运算的巧妙之处 应用 二进制中1的个数 异或运算的巧妙之处 性质 应用 交换两个变量的值 不用判断语句,求整数绝对值 如何找唯一成对的数? 位运算的巧妙之处 算法中,位运算可以巧妙运用在一下几 ...
- 利用位运算的模四算法
将数列a=1,2,3,4,5,6,7...变成4,4,4,4,8,8,8,8,12,12...一个很巧妙的办法((a+3)>>2)<<2,当然不用位运算就可以用(a+3)-(a ...
- 计算机AL教程笔记,计算机系统基础学习笔记(2)-数据的位运算操作
C语言的位运算操作包括两类,逻辑运算操作和逻辑移位操作. 逻辑运算操作 C语言提供了四种按位逻辑操作符,分别是按位取反,按位与,按位或,按位异或.在编译时,编译器会根据操作数的宽度分别转换为不同的指令 ...
- c语言或者cpp中位运算的技巧
简述 在知乎上看到一个题目,解答很有意思,用的是位运算. 这让我觉得位运算有更多的算法可能,但是却还没被我用过. 这种东西都是第一次看,觉得挺牛的,第二次,第三次看的时候就觉得没什么了.So,大佬们轻 ...
- 0x01.基本算法 — 位运算
目录 一.位运算 二.memset函数 三.移位运算 四.二进制状态压缩 五.成对变换 六.lowbit 七.相关习题 0.AcWing 26. 二进制中1的个数 1.Acwing 89. a^b(快 ...
- java游戏将相_(Java)算法——位运算基础及基本应用
位运算基础及基本应用 在处理整形数值时,可以直接对组成整形数值的各个位进行操作.这意味着可以使用屏蔽技术获得整数中的各个位(??) 位运算是针对整数的二进制进行的位移操作 整数 32位 , 正数符号为 ...
- 位运算常用技巧分析汇总(算法进阶)
文章目录 运算性质 异或运算的一些性质 秀秀伸手 1.只用位运算来完成两个整数相加 2.不用临时变量,交换a.b两个数的值 3.判断一个数是奇数还是偶数 3.快速计算2*n.2*n+1和n/2 4.` ...
最新文章
- BP反向传播算法的思考和直观理解 -卷积小白的随机世界
- vue this.$router.push()传参
- JSP学习笔记(四十九):抛弃POI,使用iText生成Word文档
- sql盲注特点_SQL注入第二章——access,mssql,oracle
- python引用大数据,Python 3 UDF
- 用CSS制作圆角框的方法一,二
- L3-015 球队“食物链”(dfs)
- 数据结构源码笔记(C语言):置换-选择算法
- Python for i in range ()用法详解
- apxs php5,安装PHP5和PHP7
- Redis的发布订阅(消息队列,比如ActiveMQ,一方得到数据后,多方得到信息)
- 极其简便的PHP HTML DOM解析器PHP Simple HTML DOM Parser/有中文手册
- (活动)MySQL DBA之路 | 性能配置调优篇
- Costco的中国门徒已经参透了零售成功秘笈
- textedit实时显示位置_加什么地形就看什么等高线!等高线实时预览就是这么爽...
- 成为软件咨询师的关键
- Web.py session用户认证
- MapBar纯绿色桌面版:小M
- python智慧树视频爬取_python爬虫利器之requests库的用法(超全面的爬取网页案例)...
- RFID打印机和条码打印机的4大区别