蓝桥杯乘法运算java,第四届蓝桥杯Java B——有理数类
有理數(shù)就是可以表示為兩個(gè)整數(shù)的比值的數(shù)字。一般情況下,我們用近似的小數(shù)表示。但有些時(shí)候,不允許出現(xiàn)誤差,必須用兩個(gè)整數(shù)來(lái)表示一個(gè)有理數(shù)。
這時(shí),我們可以建立一個(gè)“有理數(shù)類(lèi)”,下面的代碼初步實(shí)現(xiàn)了這個(gè)目標(biāo)。為了簡(jiǎn)明,它只提供了加法和乘法運(yùn)算。class Rational {
private long ra;
private long rb;
private long gcd(long a, long b) {
if(b == 0) return a;
return gcd(b, a % b);
}
public Rational(long a, long b) {
ra = a;
rb = b;
long k = gcd(ra, rb);
if(k > 1) { //需要約分
ra /= k;
rb /= k;
}
}
// 加法
public Rational add(Rational x) {
return ________________________________________; //填空位置
}
// 乘法
public Rational mul(Rational x) {
return new Rational(ra*x.ra, rb*x.rb);
}
public String toString() {
if(rb == 1) return "" + ra;
return ra + "/" + rb;
}
}
使用該類(lèi)的示例:Rational a = new Rational(1,3);
Rational b = new Rational(1,6);
Rational c = a.add(b);
System.out.println(a + "+" + b + "=" + c);class Rational {
private long ra;
private long rb;
private long gcd(long a, long b) {
if (b == 0)
return a;
return gcd(b, a % b);
}
public Rational(long a, long b) {
ra = a;
rb = b;
long k = gcd(ra, rb);
if (k > 1) { // 需要約分
ra /= k;
rb /= k;
}
}
// 加法
public Rational add(Rational x) {
return new Rational(ra * x.rb + x.ra * rb, rb * x.rb); // 填空位置
}
// 乘法
public Rational mul(Rational x) {
return new Rational(ra * x.ra, rb * x.rb);
}
public String toString() {
if (rb == 1)
return "" + ra;
return ra + "/" + rb;
}
}
public class Main {
public static void main(String[] args) {
Rational a = new Rational(1, 3);
Rational b = new Rational(1, 6);
Rational c = a.add(b);
System.out.println(a + "+" + b + "=" + c);
}
}
總結(jié)
以上是生活随笔為你收集整理的蓝桥杯乘法运算java,第四届蓝桥杯Java B——有理数类的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: dbda.class.php 下载,DB
- 下一篇: php节点对象,JavaScript_J