⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 usaco_fracdec.cpp

📁 usaco自己做的1到5章的代码
💻 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;
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -