nyoj744 蚂蚁的难题(-)
生活随笔
收集整理的這篇文章主要介紹了
nyoj744 蚂蚁的难题(-)
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
螞蟻的難題(一)
時間限制:1000?ms ?|? 內存限制:65535?KB 難度:2 描述小螞蟻童鞋最近迷上了位運算,他感覺位運算非常神奇。不過他最近遇到了一個難題:
給定一個區間[a,b],在區間里尋找兩個數x和y,使得x異或y最大。來,幫幫他吧!
輸入每組數據輸入兩個數a,b.(0<=a<b<2^63)
思路:異或的算法是相異為1,先將十進制數化為二進制,補齊后比較,得出的二進制數就是結果00000011,(3)2=00000011
m-1=m*2-1=3.
#include<stdio.h> int main() {long long a,b,n,m;//long long 在vc6.0是不通過的while(~scanf("%lld%lld",&a,&b)) { n=a^b; m=1; while(n) { m*=2; n/=2; } printf("%lld\n",m-1); } return 0; }與 ?a&b ? 相同為1.不同為0.
或 a|b ? ?有1則1,
總結
以上是生活随笔為你收集整理的nyoj744 蚂蚁的难题(-)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: cad自动标注界址点_CAD自带“块属性
- 下一篇: CLabel