HAMMING CODES 海明碼

2018-06-19 14:06 更新

http://acm.sdibt.edu.cn/JudgeOnline/problem.php?id=2324

題目大意:(如題)

輸入輸出:(如題)

解題思路:

簡單搜索。按遞增順序搜索要求的n個(gè)數(shù),然后跟前面的數(shù)判斷距離是否大于d,找到的一組解即為最小的。

注意:

1.0在每組數(shù)據(jù)里面都出現(xiàn)。

2.b給出了搜索的最大值:2^b-1。

3.計(jì)算兩個(gè)數(shù)a,b的距離,只要計(jì)算a^b的二進(jìn)制形式中1的個(gè)數(shù)。

核心代碼: 

int dist(int x,int y) 
  
{ 
  
    int cnt,tmp; 
  
    cnt=0; 
  
    tmp=x^y; 
  
    while(tmp>0) 
  
    { 
  
        cnt++; 
  
        tmp-=(tmp&(-tmp)); 
  
    } 
  
    return cnt; 
  
} 


以上內(nèi)容是否對您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號
微信公眾號

編程獅公眾號