(二進位制)

淮南生發表於2020-12-26

小葉同學自從學完C語言的二進位制數字之後,就一發不可收地愛上了它。不管程式需要整數還是字元,他都喜歡用二進位制的形式從鍵盤上讀入。有一道題,老師讓他讀入年份(y)並判斷是否為閏年,他也是用二進位制來輸入。大家寫個程式,看看怎麼根據讀入的二進位制資料判斷該年份是否為閏年呢。

輸入

僅一行,包括1個二進位制形式的資料,表示年份。

輸出

一行,判斷是否為閏年,如果是就輸出Yes,否則輸出No。

樣例輸入 Copy
11111100000
樣例輸出 Copy
Yes
程式碼

#include <bits/stdc++.h>
using namespace std;
int main ()
{
   string n;
   int i,sum=0;
   cin>>n;
   for(i=0;i<n.size();i++)
   {
       if(n[i]=='1')
       {
           int j=pow(2,n.size()-i-1);
           sum+=j;
       }
        }
        if((sum%4==0&&sum%100!=0)||(sum%400==0))
        {
            cout<<"Yes"<<endl;
        }
        else
            cout<<"No"<<endl;
    return 0;
}

pow 是個指數函式

相關文章