C++---汉明距离
生活随笔
收集整理的這篇文章主要介紹了
C++---汉明距离
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
兩個整數之間的漢明距離指的是這兩個數對應二進制位不同的位置的數目。
【輸入形式】
給出兩個整數x和y(0<=x,y<2^31),用空格分隔
【輸出形式】
輸出他們之間的漢明距離
【樣例輸出】
1 4
【樣例說明】
00000000 00000000 00000000 00000001
00000000 00000000 00000000 00000100
思路:先對輸入的倆數進行異或操作,相同為0,不同為1;然后判斷含有多少個1即可。
#include <iostream> #include <stdio.h> int func(int x); using namespace std;int main() {int HM,a,b,distance;cin >> a>>b;HM = a ^ b;distance = func(HM);printf("%d",distance);return 0; }int func(int x) {int countx = 0;while(x){countx ++;x = x&(x-1);}return countx; }總結
以上是生活随笔為你收集整理的C++---汉明距离的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 查妇科需要多少钱啊?
- 下一篇: C++---肿瘤面积