1097: 我爱二进制发表时间:2022-10-27 19:22 1097: 我爱二进制时间限制: 1 Sec 内存限制: 128 MB 题目描述小叶同学自从学完C语言的二进制数字之后,就一发不可收地爱上了它。不管程序需要整数还是字符,他都喜欢用二进制的形式从键盘上读入。有一道题,老师让他读入年份(y)并判断是否为闰年,他也是用二进制来输入。大家写个程序,看看怎么根据读入的二进制数据判断该年份是否为闰年呢。 输入仅一行,包括1个二进制形式的数据,表示年份。 输出一行,判断是否为闰年,如果是就输出Yes,否则输出No。 样例输入 Copy11111100000 样例输出 CopyYes 提示这样的年份才是闰年:(1)能被400整除;或(2)能被4整除但不能被100整除。
#include<bits/stdc++.h> using namespace std; int ss(int a,int b){ int ans=1; for(int i=1;i<=b;i++) ans*=a; return ans; } int main(){ char ch[55]; cin>>ch; int sum=0,len=strlen(ch); for(int i=0;i<len;i++) if(ch[i]=='1'){ int j=ss(2,len-i-1); sum+=j; } if((sum%100!=0&&sum%4==0)||(sum%400==0)) cout<<"Yes"<<endl; else cout<<"No"<<endl; return 0; }
文章分类:
算法例题
|