usaco2.4.6分数化小数
2014-07-16 19:51
176 查看
思路是对的,只可惜判断循环小数的方法错了,我竟然一个一个比过去233,如果我好好用hash的话,这一题就秒过了,o(︶︿︶)o 唉,hash。。。。。。
#include<iostream>
#include <cmath>
#include <cstdio>
using namespace std;
int yushu[1000002],k=0,k1=0,k2=0;
struct aaa{bool a1;int wei;}hash[1000002];
void huanhuang(void);
int main()
{
//freopen("fracdec.in","r",stdin);
//freopen("fracdec.out","w",stdout);
int n,shu;
cin>>n>>shu;
if(n<shu){cout<<0;
huanhuang();}
while(n>=shu){
cout<<n/shu;
int ll=n/shu,i;
for(i=0;ll>0;i++)
ll/=10;
k+=i;
n%=shu;
}
cout<<'.';
huanhuang();
if(n==0){cout<<0<<endl;return 0;}
while(n!=0)
{
if(!hash
.a1){yushu[++k1]=n;hash
.a1=true;hash
.wei=k1;}
else {k2=hash
.wei;break;}
n=n*10%shu;
}
if(n==0){for(int i=1;i<=k1;i++){printf("%d",yushu[i]*10/shu);huanhuang();}
cout<<endl;
}
else {
for(int i=1;i<k2;i++)
{printf("%d",yushu[i]*10/shu);huanhuang();}
cout<<'(';
huanhuang();
for(int i=k2;i<=k1;i++)
{printf("%d",yushu[i]*10/shu);huanhuang();}
cout<<')'<<endl;
}
return 0;
}
void huanhuang(void)
{
k++;
if(k==76){cout<<endl;k=0;}
}
#include<iostream>
#include <cmath>
#include <cstdio>
using namespace std;
int yushu[1000002],k=0,k1=0,k2=0;
struct aaa{bool a1;int wei;}hash[1000002];
void huanhuang(void);
int main()
{
//freopen("fracdec.in","r",stdin);
//freopen("fracdec.out","w",stdout);
int n,shu;
cin>>n>>shu;
if(n<shu){cout<<0;
huanhuang();}
while(n>=shu){
cout<<n/shu;
int ll=n/shu,i;
for(i=0;ll>0;i++)
ll/=10;
k+=i;
n%=shu;
}
cout<<'.';
huanhuang();
if(n==0){cout<<0<<endl;return 0;}
while(n!=0)
{
if(!hash
.a1){yushu[++k1]=n;hash
.a1=true;hash
.wei=k1;}
else {k2=hash
.wei;break;}
n=n*10%shu;
}
if(n==0){for(int i=1;i<=k1;i++){printf("%d",yushu[i]*10/shu);huanhuang();}
cout<<endl;
}
else {
for(int i=1;i<k2;i++)
{printf("%d",yushu[i]*10/shu);huanhuang();}
cout<<'(';
huanhuang();
for(int i=k2;i<=k1;i++)
{printf("%d",yushu[i]*10/shu);huanhuang();}
cout<<')'<<endl;
}
return 0;
}
void huanhuang(void)
{
k++;
if(k==76){cout<<endl;k=0;}
}
相关文章推荐
- [USACO2.4]分数化小数 Fractions to Decimals
- usaco ★Fractions to Decimals 分数化小数
- 【USACO2.4.5】分数化小数 模拟
- USACO&nbsp;2.4&nbsp;分数化小数
- 【USACO 2.4】Fractions to Decimals(分数转小数)
- 用Oracle PL/SQL 编程实现小数转分数的方法
- 小数与分数之间相互转化
- 小数到分数的转换
- 分数化小数decimal
- 算法竞赛_分数化小数_C++
- 习题2-5 分数化小数 解题报告
- 习题2-5 分数化小数(decimal)
- C语言 分数化小数
- 分数求和保留两位小数
- 如何完成循环小数转成分数?
- 习题2-5 分数化小数 (算法竞赛入门经典(第二版)刘汝佳 第二章 )
- 小数转分数
- hdu 1717 && 计蒜课 52 【分数小数的互相转化】【数论?】
- 小数,分数,百分数及倍数的怎么表达?怎么读? kira86 于2010-07-07发布 l 已有1958人浏览增大字体 减小字体 常态文玩 数百名外教任意选,每天陪你练口语 一个积分学英语,您的账户
- bzoj 1690: [Usaco2007 Dec]奶牛的旅行【01分数规划+spfa】