hdu4551生日猜猜猜
来源:互联网 发布:数据恢复精灵破解 编辑:程序博客网 时间:2024/04/30 12:57
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=4551
题意:已知 出生月份和出生日子的最大公约数; 出生月份和出生日子的最小公倍数; 出生年份;求出生的日子?
注意题目中隐藏的问题。
参考代码:
#include <stdio.h>
int mon[]={0,31,0,31,30,31,30,31,31,30,31,30,31};
int leap_year(int y)
{
if((y%4==0 && y%100)||(y%400==0))
return 1;
return 0;
}
int gcd(int a,int b)
{
return a?gcd(b%a,a):b;
}
int main()
{
int t,i,j,x,y,z,num=0,ans,a,b,c,d;
scanf("%d",&t);
while(t--)
{
scanf("%d%d%d",&x,&y,&z);
if(leap_year(z))
mon[2]=29;
else
mon[2]=28;
ans=0;
for(i=1;i<=12;i++)
{
for(j=1;j<=mon[i];j++)
{
c=gcd(i,j);
d=i*j/c;
if(c==x && d==y)
{
a=i;
b=j;
ans++;
}
}
}
num++;
printf("Case #%d: ",num);
if(ans==1)
printf("%d/%02d/%02d\n",z,a,b);
else if(ans==0)
printf("-1\n");
else
printf("1\n");
}
return 0;
}
备注:
int gcd(int a,int b)
{
return a?gcd(b%a,a):b;
}
这一段代码相当于:
int gcd(int a,int b)
{
int temp;
while(b)
{
temp=b;
b=a%b;
a=temp;
}
return a;
}
- hdu4551生日猜猜猜
- hdu4551(生日猜猜猜---坑的我好苦啊)
- HDU4551 猜生日问题
- hdu 4551 生日猜猜猜
- hdoj 4551 生日猜猜猜
- HDU 4551 生日猜猜猜
- 生日猜猜猜 HDU 4551
- [HDOJ 4551] 生日猜猜猜
- HDU 4551 生日猜猜猜
- 杭电4551生日猜猜猜
- HDU 4551 生日猜猜猜【模拟】
- HDU4551
- HDU4551
- HDU4551
- 2013金山西山居创意游戏程序挑战赛——初赛(3)生日猜猜猜
- 2013金山西山居挑战赛 初赛第3场 1001 生日猜猜猜
- 2013金山西山居创意游戏程序挑战赛——初赛(3) 1001 生日猜猜猜 hdu 4551
- IQ猜猜猜
- PHP设计模式之:单例模式
- jQuery去掉指定标签里所有文字内容对应的链接,==去掉<a>标签
- Hibernate笔记1
- MIT/GNU Scheme用户手册(二)
- Linux系统/目录下的文件夹里面分别是以下内容
- hdu4551生日猜猜猜
- 马的走法
- strut1中关于 异常的处理
- java通过poi对Excel数据在(jsp+ssh)环境下导入导出
- 二维数组与指针
- gcc的主要选项和makefile入门
- BUCT-OJ 2052 数字三角形2
- autoit教程
- 哈稀函数