算法很美--位運算

2019/3/22更新

題目1 : Exam07_TwoSingleNumbers
時間限制:2000ms
單點時限:1000ms
內(nèi)存限制:256MB

描述

一個整型數(shù)組里除了兩個數(shù)字(互不相同)之外,其他的數(shù)字都出現(xiàn)了兩次。請寫程序找出這兩個只出現(xiàn)一次的數(shù)字。要求時間復(fù)雜度是O(n)庞萍,空間復(fù)雜度是O(1)状共。
輸入

第一行:數(shù)組的長度N(1<n<100000)
第二行:N個整數(shù),空格隔開
輸出

只出現(xiàn)了1次的那兩個數(shù)丰刊,小的在前大的在后泽裳,空格隔開
樣例輸入

10
5 5 6 7 9 9 7 3 3 2 

樣例輸出

2 6

AC代碼

#include <iostream>
#include "stdio.h" 
#include <string.h> 
#include <math.h>
using namespace std;
typedef long long LL;
const int MAX=0x3f3f3f3f;
const int maxn = 10001;
int a[maxn], n;
int main()
{
    scanf("%d", &n);
    for(int i = 1; i <= n; i++) 
        scanf("%d", &a[i]);
    int t = 0, cnt = 0;
    for(int i = 1; i <= n; i++) //對所有的數(shù)進行異或運算
        t ^= a[i];
    int tmp = t;
    while(tmp % 2 == 0) {
        cnt++;
        tmp >>= 1;
    }
    int x = 0, y = 0;
    for(int i = 1; i <= n; i++)     //找出其中異或后為1的數(shù)
        if((a[i] >> cnt)%2) x ^= a[i];
    for(int i = 1; i <= n; i++)     //同理
        if((a[i] >> cnt)%2 == 0) y ^= a[i];
    printf("%d %d\n", x, y);
     
    return 0;
}

題目2 : Exam08_ChangeBit
時間限制:2000ms
單點時限:1000ms
內(nèi)存限制:256MB

描述

給定兩個整數(shù)A和B瞒斩,需要改變幾個二進制位才能將A轉(zhuǎn)為B。
輸入

1行:A和B诡壁,空格隔開
輸出

需要改變的位數(shù)
樣例輸入

10 8

樣例輸出

1

AC代碼

#include <iostream>
#include <bits/stdc++.h>
using namespace std;
 
int main()
{
    int A,B;
    cin>>A>>B;
    int num = 0;
    for(int i = 0;i < 32;i++)
    {
        if(((A>>i)&1)!=((B>>i)&1))//向右移位同一位如果不一樣就要改變
            num++;
    }
    cout<<num;
}

題目3 : Exam09_StrangeDonate
時間限制:1000ms
單點時限:1000ms
內(nèi)存限制:256MB

描述

地產(chǎn)大亨Q先生臨終的遺愿是:拿出100萬元給X社區(qū)的居民抽獎济瓢,以稍慰藉心中愧疚。
麻煩的是妹卿,他有個很奇怪的要求:

  1. 100萬元必須被正好分成若干份(不能剩余)。每份必須是7的若干次方元蔑鹦。比如:1元, 7元夺克,49元,343元嚎朽,...

  2. 相同金額的份數(shù)不能超過5份铺纽。

  3. 在滿足上述要求的情況下,分成的份數(shù)越多越好哟忍!

請你幫忙計算一下狡门,最多可以分為多少份?
輸入

固定輸入:1000000
輸出

最多可以分為多少份
樣例輸入

1000000

樣例輸出

AC代碼

#include <cstdlib>
#include <iostream>
#include <cmath>
using namespace std; 
int count = 0; 
int visit[10] = {0}; 
int num; 
void dfs(int step,int count) { //step代表7的幾次方 
    if(visit[step] > 5) { 
    //相同金額的份數(shù)不能超過5份 
    return; 
    } 
    if(count > 1000000) {
        return; 
    } 
    else if(count == 1000000){
        num = 0; 
        for(int i = 0; i < 10; i++)
        { 
            num += visit[i]; 
        } 
        cout<< num; 
        exit(0); 
    } 
    count += pow(7,step); 
    visit[step]++;
    dfs(step, count);
    //兩種路 visit[step]+1 
    dfs(step+1, count); //visit[step+1]+1 
    visit[step]--; 
    count -= pow(7,step); 
}
int main() {
    dfs(0,0);
    return 0; 
}
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末锅很,一起剝皮案震驚了整個濱河市其馏,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌爆安,老刑警劉巖叛复,帶你破解...
    沈念sama閱讀 211,194評論 6 490
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異,居然都是意外死亡褐奥,警方通過查閱死者的電腦和手機咖耘,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,058評論 2 385
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來撬码,“玉大人儿倒,你說我怎么就攤上這事∥匦Γ” “怎么了义桂?”我有些...
    開封第一講書人閱讀 156,780評論 0 346
  • 文/不壞的土叔 我叫張陵朴爬,是天一觀的道長肾筐。 經(jīng)常有香客問我,道長燎猛,這世上最難降的妖魔是什么曹抬? 我笑而不...
    開封第一講書人閱讀 56,388評論 1 283
  • 正文 為了忘掉前任溉瓶,我火速辦了婚禮,結(jié)果婚禮上谤民,老公的妹妹穿的比我還像新娘堰酿。我一直安慰自己,他們只是感情好张足,可當我...
    茶點故事閱讀 65,430評論 5 384
  • 文/花漫 我一把揭開白布触创。 她就那樣靜靜地躺著,像睡著了一般为牍。 火紅的嫁衣襯著肌膚如雪哼绑。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 49,764評論 1 290
  • 那天碉咆,我揣著相機與錄音抖韩,去河邊找鬼。 笑死疫铜,一個胖子當著我的面吹牛茂浮,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播壳咕,決...
    沈念sama閱讀 38,907評論 3 406
  • 文/蒼蘭香墨 我猛地睜開眼席揽,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了谓厘?” 一聲冷哼從身側(cè)響起幌羞,我...
    開封第一講書人閱讀 37,679評論 0 266
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎庞呕,沒想到半個月后新翎,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體程帕,經(jīng)...
    沈念sama閱讀 44,122評論 1 303
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 36,459評論 2 325
  • 正文 我和宋清朗相戀三年地啰,在試婚紗的時候發(fā)現(xiàn)自己被綠了愁拭。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 38,605評論 1 340
  • 序言:一個原本活蹦亂跳的男人離奇死亡亏吝,死狀恐怖岭埠,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情蔚鸥,我是刑警寧澤惜论,帶...
    沈念sama閱讀 34,270評論 4 329
  • 正文 年R本政府宣布,位于F島的核電站止喷,受9級特大地震影響馆类,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜弹谁,卻給世界環(huán)境...
    茶點故事閱讀 39,867評論 3 312
  • 文/蒙蒙 一乾巧、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧预愤,春花似錦沟于、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,734評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至销睁,卻和暖如春供璧,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背榄攀。 一陣腳步聲響...
    開封第一講書人閱讀 31,961評論 1 265
  • 我被黑心中介騙來泰國打工嗜傅, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人檩赢。 一個月前我還...
    沈念sama閱讀 46,297評論 2 360
  • 正文 我出身青樓,卻偏偏與公主長得像违寞,于是被迫代替她去往敵國和親贞瞒。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 43,472評論 2 348

推薦閱讀更多精彩內(nèi)容