#42855: O(1)方法本機順利解出答案,但oj上測試失敗


9.bn5li5sa6dn@gmail.com (賴竑斌)

學校 : 國立嘉義高級中學
編號 : 160545
來源 : [140.112.240.40]
最後登入時間 :
2024-10-09 10:52:47
e351. And 運算 -- π | From: [140.112.240.40] | 發表日期 : 2024-10-09 11:00

如題,i=64時就會AC,i=63就會WA,但unsigned long long 8bytes 應該是 63到0才對

#include using namespace std; int main(){ unsigned long long a,b; while(cin >> a >> b) { unsigned long long ans=0; for(short i=63; i>=0; i--) { if((a & (1 << i))==(b&(1<

 
#42856: Re: O(1)方法本機順利解出答案,但oj上測試失敗


9.bn5li5sa6dn@gmail.com (賴竑斌)

學校 : 國立嘉義高級中學
編號 : 160545
來源 : [140.112.240.40]
最後登入時間 :
2024-10-09 10:52:47
e351. And 運算 -- π | From: [140.112.240.40] | 發表日期 : 2024-10-09 11:01

#include <iostream>
using namespace std;
int main(){
    unsigned long long a,b;
    while(cin >> a >> b) {
        unsigned long long ans=0;
        for(short i=63; i>=0; i--) {
            if((a & (1 << i))==(b&(1<<i)))
                ans+=(a&(1<<i));
            else
                break;
        }
        cout << ans << endl;
    }
    return 0;
}

 
#42857: Re: O(1)方法本機順利解出答案,但oj上測試失敗


9.bn5li5sa6dn@gmail.com (賴竑斌)

學校 : 國立嘉義高級中學
編號 : 160545
來源 : [140.112.240.40]
最後登入時間 :
2024-10-09 10:52:47
e351. And 運算 -- π | From: [140.112.240.40] | 發表日期 : 2024-10-09 11:06

把1改成1ULL,i=63就會過,但不知道為何i=64會過



 
ZeroJudge Forum