将真分数分解为埃及分数
2014-03-16 15:53
369 查看
问题描述:
现输入一个真分数,请将该分数分解为埃及分数。
import java.util.Scanner;
public class Test {
/**
* 将真分数分解成埃及分数
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
boolean flag=true;
int a,b,c;
String s="";
while(flag)
{
Scanner scan=new Scanner(System.in);
System.out.println("请输入分子:");
a=scan.nextInt();
System.out.println("请输入分母");
b=scan.nextInt();
if(a>b)
{
System.out.println("输入的不是真分数,请重新输入!");
}else{
flag=false;
for(;;)
{
if(b%a==0) //若分子能整除分母
{
c=b/a;
a=1;
}else{ //若分子不能整除分母,则分离出一个分母为b/a+1的埃及分数
c=b/a+1;
}
if(a==1){
s=s+"1/"+c+" ";
break;
}else{
s=s+"1/"+c+" ";
a=a*c-b;
b=b*c;
if(a==3&&b%2==0)
{
s+="1/"+b/2+" "+"1/"+b; //最后两个埃及分数
break;
}
}
}
}
System.out.println(s);
}
}
}
现输入一个真分数,请将该分数分解为埃及分数。
import java.util.Scanner;
public class Test {
/**
* 将真分数分解成埃及分数
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
boolean flag=true;
int a,b,c;
String s="";
while(flag)
{
Scanner scan=new Scanner(System.in);
System.out.println("请输入分子:");
a=scan.nextInt();
System.out.println("请输入分母");
b=scan.nextInt();
if(a>b)
{
System.out.println("输入的不是真分数,请重新输入!");
}else{
flag=false;
for(;;)
{
if(b%a==0) //若分子能整除分母
{
c=b/a;
a=1;
}else{ //若分子不能整除分母,则分离出一个分母为b/a+1的埃及分数
c=b/a+1;
}
if(a==1){
s=s+"1/"+c+" ";
break;
}else{
s=s+"1/"+c+" ";
a=a*c-b;
b=b*c;
if(a==3&&b%2==0)
{
s+="1/"+b/2+" "+"1/"+b; //最后两个埃及分数
break;
}
}
}
}
System.out.println(s);
}
}
}
相关文章推荐
- P65-将真分数分解为埃及分数
- 华为OJ 初级:将真分数分解为埃及分数
- 埃及分数 把一个分数分解成n个 m分之一的形式
- 将真分数分解为埃及分数
- 分数的埃及分解
- 将真分数分解为埃及分数
- 分数趣题(将真分数分解为埃及分数)
- 华为oj 将真分数分解为埃及分数
- 将真分数分解为埃及分数
- 4.2趣味分数之真分数分解为埃及分数
- OJ-----真分数分解为埃及分数*
- 将真分数分解为埃及分数
- 把一个真分数分解为埃及分数(分子为1)
- 将真分数分解为埃及分数
- 真分数分解成埃及分数
- 将真分数分解为埃及分数
- 华为oj 将真分数分解为埃及分数
- 【华为OJ】【101-将真分数分解为埃及分数】
- (百例编程)45.真分数分解为埃及分数
- 华为OJ——将真分数分解为埃及分数