小叶同学自从学完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 是个指数函数