分数
博客专区 > HUEE 的博客 > 博客详情
分数
HUEE 发表于4年前
分数
  • 发表于 4年前
  • 阅读 50
  • 收藏 0
  • 点赞 0
  • 评论 0

标题:腾讯云 新注册用户域名抢购1元起>>>   

 /*题目内容:
写出一个程序,接受一个以N/D的形式输入的分数,其中N为分子,D为分母,输出它的小数形式。
本题中,0≤N≤65535,0<D≤65535,设运算结果小数点后最多保留100位。
输入描述

分别输入N D

输出描述

如果它的小数形式存在循环,则要将其循环节用括号括起来。例如:

1/3= 0.(3)

输入样例

1 7

输出样例

0.(142857)*/
import java.util.Scanner;
public class Main{
 public static void main(String args[]){
 Scanner scan=new Scanner(System.in);
 int n=scan.nextInt();
 int d=scan.nextInt();
 int a[]=new int[100];
 int b[]=new int[100];
 a[0]=n/d;
 b[0]=n%d;
 int i=0,flag=0,m=0,k=0,x=0;
 while(b[i]!=0)
 {
  ++i;
  n=b[i-1]*10;
  a[i]=n/d;
  b[i]=n%d;
  for(int j=0;j<i;j++)
  if(b[i]==b[j])
  {
   flag=1;
   x=j+1;
   break;
  }
  if(flag==1)
  {
   m=1;
   break;
  }
  
 }
 System.out.print(a[0]);
 if(b[0]!=0)
 System.out.print(".");
 if(m==1){
 for(k=1;k<=i;k++){
 if(k==x)
  System.out.print("(");
 System.out.print(a[k]);
 }
 System.out.println(")");
 }
 else
 {
 for(k=1;k<=i;k++)
 System.out.println(a[i]);
 }
}
}

共有 人打赏支持
粉丝 0
博文 3
码字总数 1114
×
HUEE
如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!
* 金额(元)
¥1 ¥5 ¥10 ¥20 其他金额
打赏人
留言
* 支付类型
微信扫码支付
打赏金额:
已支付成功
打赏金额: