scala小试内容:
- 1、数学库Math的使用(求根公式)
- 2、scala函数定义和使用(类似C语言,goland 语言)
- 3、字符串格式化输出($用法)
- 4、程序运行时间end-start (纳秒转换为 秒 )
- 5、条件判断的使用 if if else else
- 6、保留小数点后面几位的用法( a.formatted(“%.4f”))
一元二次方程ax^2+bx+c=0中,
一元二次方程求根公式:两根
x1,x2= [-b±√(b^2-4ac)]/2a
韦达定理:两根x1,x2有如下
x1+x2=-b/a
x1*x2=c/a
python2.7版本:
# encoding: utf-8
from __future__ import division
import sys
reload(sys)
sys.setdefaultencoding('utf-8')
import math
def quadratic(a,b,c):
m=b*b-4*a*c
# print m
if m>0:
print "该方程有两个解:"
x1=(-b-math.sqrt(m))/(a*2)
x2=(-b+math.sqrt(m))/(a*2)
print "x1=%s,x2=%s " %(x1,x2)
elif m==0:
print "该方程只有一个解"
x1 = (-b) / a * 2
print "x=%s" %x1
else:
print "该方程没有解"
if __name__ == '__main__':
a=1;b=4;c=-5
quadratic(a,b,c)
scala版本:
package DataStructureAndAlgorithm
/**
* Created by Administrator on 2017/12/23.
*/
object Test2LinearEquation {
/**
* 只含有一个未知数(一元),并且未知数项的最高次数是2(二次)的整式方程叫做一元二次方程。标准形式为:ax²+bx+c=0(a≠0)。
* 一元二次方程ax^2+bx+c=0中,一元二次方程求根公式:两根x1,x2= [-b±√(b^2-4ac)]/2a
*韦达定理:两根x1,x2有如下关系:x1+x2=-b/a,x1*x2=c/a
*/
def quadratic(a: Int, b: Int, c: Int):Unit = {
val m = b * b - 4 * a * c
println(m)
if(m>0){
println("该方程有两个解:")
val x1=(-b-math.sqrt(m))/(a*2)
val x2=(-b+math.sqrt(m))/(a*2)
println(s"x1=$x1,x2=$x2")
}
else if(m==0) {
println("该方程只有一个解:")
val x3=(-b)/(a*2)
println(s"x=$x3")
}else{
println("改方程没有解")
}
}
def main(args: Array[String]) {
val start = System.nanoTime()
// 赋值变量
val a=1
val b=(-1)
val c=(-30)
// 从控制台输入:
// val a=Console.readLine()
// println(a)
quadratic(a,b,c)
val end = System.nanoTime()
println("程序运行时间:"+((end - start)/1000000000d).formatted("%.4f")+"s")
}
}
运行结果:
121
该方程有两个解:
x1=-5.0,x2=6.0
程序运行时间:0.1373s
Process finished with exit code 0