?? usaco_fracdec.cpp
字號:
/*
ID: wangyuc2
PROG: fracdec
LANG: C++
*/
#include <fstream>
#include <iostream>
#include <cmath>
#include <memory>
#include <iomanip>
using namespace std;
ifstream fin("fracdec.in");
ofstream fout("fracdec.out");
int main()
{
char a[1000000];
int n,d,i,j,dp;
double ip;
bool np[1000002];
int npp[1000002];
memset(np,false,sizeof(np));
fin>>n>>d;
ip=n/d;
dp=n%d;
if(dp == 0){
fout.setf(ios::fixed);
fout.precision(1);
fout<<ip<<endl;}
else{i=0;
dp*=10;
while(!np[dp])
{
np[dp]=true;
npp[dp]=i;
a[i]=dp/d;
dp=(dp%d)*10;
i++;
}
j=i;
fout<<(int)ip<<'.';
int t=0;
int k=0;
n=int(ip);
if(n==0) k=1;
else{
while(n>10)
{
n/=10;
k++;
}
if(n == 10) k+=2;
else k++;
}
k++;
if(a[j-1] == 0 && dp == 0) {
for(i=0;i<j-1;i++)
{
fout<<int(a[i]);
if(k%76==0) fout<<endl;
k++;
}
fout<<endl;
}
else{
while(t<j)
{
//for(int k=0;i<76;k++)
//k++;
if(t!=npp[dp] && t!=j-1) fout<<(int)a[t];
if(t==npp[dp]) {fout<<'('<<int(a[t]);k++;}
if(npp[dp] == j-1) fout<<')'<<endl;
else if(t == j-1) fout<<int(a[t])<<')'<<endl;
t++;
k++;
if(k%76==0) fout<<endl;
}
}
}
//system("PAUSE");
return 0;
}
?? 快捷鍵說明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -