hdu 1099 Lottery
来源:互联网 发布:pc软件界面设计工具 编辑:程序博客网 时间:2024/05/01 18:46
//求 n(1+1/2+1/3+....1/n)------m+a/b
犯了好几个错误 检查了 两个小时 ,咕~~(╯﹏╰) 很水的题 ,老犯逻辑错误 哎 要命
using namespace std;
typedef __int64 int64;
int64 gcd(int64 a ,int64 b)
{
return b==0?a:gcd(b,a%b);
}
int main()
{
int64 n,i,j,m;
int64 a,b,temp;
while(scanf("%I64d",&n)!=EOF)
{
m=1,a=1,b=2;
if(1==n)
printf("1\n");
else if(2==n)
printf("3\n");
else if(n==3)
printf(" 1\n5 -\n 2\n");
else if(n==4)
printf(" 1\n8 -\n 3\n");
else
{
for(i=3;i<=n;i++)
{
temp=b/gcd(b,i)*i;//b,i 的最小公倍数temp
a=temp/b*a+temp/i;
b=temp;
/*if(gcd(a,b)!=1)////
{
a=a/gcd(a,b);
b=b/gcd(a,b);害死我了
}*/
if(a>b)
{
m+=a/b;
a=a%b;
}
}
m=n*m+n*a/b;//不是n*(ab/)
a=n*a%b;
/* if(gcd(a,b)!=1)
{
a=a/gcd(a,b);
b=b/gcd(a,b);//a的值变了
}*/
temp=gcd(a,b);
if(temp!=1)
{
a=a/temp;
b=b/temp;
}
//printf("a=%d** b=%d\n",a,b);
for(temp=b,j=0;temp!=0;)
{
temp=temp/10;
j++;
}
printf(" %I64d\n%I64d ",a,m);
for(i=0;i<j;i++)
printf("-");
printf("\n %I64d\n",b);
}
}
return 0;
}
犯了好几个错误 检查了 两个小时 ,咕~~(╯﹏╰) 很水的题 ,老犯逻辑错误 哎 要命
//原题链接http://acm.hdu.edu.cn/showproblem.php?pid=1099
#include<iostream>
#include<cstdio>using namespace std;
typedef __int64 int64;
int64 gcd(int64 a ,int64 b)
{
return b==0?a:gcd(b,a%b);
}
int main()
{
int64 n,i,j,m;
int64 a,b,temp;
while(scanf("%I64d",&n)!=EOF)
{
m=1,a=1,b=2;
if(1==n)
printf("1\n");
else if(2==n)
printf("3\n");
else if(n==3)
printf(" 1\n5 -\n 2\n");
else if(n==4)
printf(" 1\n8 -\n 3\n");
else
{
for(i=3;i<=n;i++)
{
temp=b/gcd(b,i)*i;//b,i 的最小公倍数temp
a=temp/b*a+temp/i;
b=temp;
/*if(gcd(a,b)!=1)////
{
a=a/gcd(a,b);
b=b/gcd(a,b);害死我了
}*/
if(a>b)
{
m+=a/b;
a=a%b;
}
}
m=n*m+n*a/b;//不是n*(ab/)
a=n*a%b;
/* if(gcd(a,b)!=1)
{
a=a/gcd(a,b);
b=b/gcd(a,b);//a的值变了
}*/
temp=gcd(a,b);
if(temp!=1)
{
a=a/temp;
b=b/temp;
}
//printf("a=%d** b=%d\n",a,b);
for(temp=b,j=0;temp!=0;)
{
temp=temp/10;
j++;
}
printf(" %I64d\n%I64d ",a,m);
for(i=0;i<j;i++)
printf("-");
printf("\n %I64d\n",b);
}
}
return 0;
}
- HDU/HDOJ 1099 Lottery
- hdu 1099 lottery
- hdu 1099 Lottery
- hdu 1099 Lottery
- hdu 1099 Lottery
- hdu 1099 Lottery
- 【数学】 HDU 1099 Lottery
- HDU ACM 1099 Lottery
- HDU 1099 Lottery 乐透彩
- HDOJ HDU 1099 Lottery
- hdu 1099 Lottery 解题分析
- HDU—— 1099 Lottery
- HDU 1099 Lottery (数学问题模拟)
- HDU 2985 Another lottery(水题)
- Lottery Hdoj 1099
- HDOJ 1099 Lottery
- Lottery
- hdoj 1099 Lottery(期望)
- FIFO定义
- Android自定义组件之美化radiobutton
- add constraint 的用法
- ubuntu配置telnet
- C#综合揭秘——细说事务
- hdu 1099 Lottery
- 安装sql server 2005时系统提示安装程序无法获取asp.net 的账户信息 如要继续安装先重新安装.net frame
- 收获一生的15步学习习惯
- Cron Expressions——Cron 表达式
- [探讨]JavaScript面向对象编程
- 【加密/解密】C++加密算法库 Botan 在Windows 和 Linux 下的编译
- 基于jsonrpc-1.0.jar创建json格式的数据
- wstring->string 文件读写 char->wchar_t
- 开发语言注释方式汇总