用非正常的算法求平均值,然并卵
来源:互联网 发布:max守望先锋数据不更新 编辑:程序博客网 时间:2024/05/16 05:59
不用(a+b)/2的算法求平均数
第一种方法:
#include<stdio.h>
int main()
{
int a = 0;
int b = 0;
int mid = =0;
scanf("%d%d",&a,&b);
mid = (a-b)/2+b; 主要是这个算法的解读
printf("mid=%d",mid);
return 0;
}
第二种方法:
#include<stdio.h>
int main()
{
int a = 0;
int b = 0;
int mid = 0;
scanf("%d%d",&a,&b);
mid = (a&b)+(a^b)>>1;
平均数就是(a+b)/2 a+b 如果用二进制,每个数位可以分三种情况(0+1,1+0), (0+0)和(1+1) 第一种情况可以通过a^b找出来,结果就是a^b 第二种等于0,不用管第三种可以用a&b找出来,但是1+1等于10要进位,所以是(a&b)<<1 所以(a+b)=(a^b+(a&b)<<1) (a+b)/2=((a^b)>>1+(a&b))
printf("mid=%d\n",mid);
return 0;
}
0 0
- 用非正常的算法求平均值,然并卵
- 从输入任意个整型数,统计其中的负数个数并求所有非负数的平均值
- 求平均值算法
- 错动分组并求平均值
- 输入数据,求平均值,输出比平均值大的数据和位置,并统计个数。
- 求复数的平均值
- 用jav求平均值
- OpenCV_将多幅图像叠加并求平均值
- 求一个整型数组中元素的平均值,并统计其中大于和小于此平均值的元素的个数。
- 求平均值的简捷方法
- 求两个整数的平均值
- 关于求平均值的问题
- 求n个数的平均值
- 求数组的和,平均值
- 求X,Y的平均值
- 求两个数的平均值
- 求两个整数的平均值
- 常用算法_求平均值Test1
- 06广东省赛(B)规律
- dfs z走迷宫
- Object-c------重写构造方法
- 使用C语言(四)
- hdu 5443 The Water Problem(求区间最值+ST表)
- 用非正常的算法求平均值,然并卵
- Volatile变量
- online_judge_1209
- linux下的top命令参数说明 (virt,res,shr,data 的意义)
- 二叉树主要知识点总结
- Handler机制
- c++第四次上机作业
- 3小母牛
- 用开关控制LED(五)