2022年2月22日 星期二

條件判斷 a003: 兩光法師占卜 a006: 一元二次方程式

 a003: 兩光法師占卜術

兩光法師時常替人占卜,由於他算得又快有便宜,因此生意源源不絕,時常大排長龍,他想算 得更快一點,因此找了你這位電腦高手幫他用電腦來加快算命的速度。

  他的占卜規則很簡單,規則是這樣的,輸入一個日期,然後依照下面的公式:

M=月
D=日
S=(M*2+D)%3

得到 S 的值,再依照 S 的值從 0 到 2 分別給與 普通、吉、大吉 等三種不同的運勢


str1 = input()
a = str1.split(" ")
m = int( a[0] ) 
d = int( a[1] )
fate = (m*2 + d) % 3
if(fate==0): print("普通")
if(fate==1): print("吉")
if(fate==2): print("大吉")


a006: 一元二次方程式
求一元二次方程式 ax2+bx+c=0 的根
每組輸入共一行,內含三個整數 a, b, c 以空白隔開。

Two different roots x1=?? , x2=??

Two same roots x=??

No real root

PS: 答案均為整數,若有兩個根則大者在前



# 求一元二次方程式 ax2+bx+c=0 的根
# 每組輸入共一行,內含三個整數 a, b, c 以空白隔開。
# Output ...
# Two different roots x1=?? , x2=??
# Two same roots x=??
# No real root
# PS: 答案均為整數,若有兩個根則大者在前

import math 
str = input().split()
a = int( str[0] )
b = int( str[1] )
c = int( str[2] )

D=b*b-4*a*c  

if(D==0):
   if( b == 0 ) :
     print("Two same roots x=0 ")
   else :
    print("Two same roots x=%d" % int(-b/a/2))
elif (D>0):
    print("Two different roots ",end="")
    print("x1=%d" % int( (-b + math.sqrt(D))/(2*a)) , end="" )
    print(" , x2=%d" % int((-b - math.sqrt(D))/(2*a))   ) 
else:
  print("No real root")
  #print("共軛複數")
  #print("x1=",-b/2/a,"+",(math.sqrt(-D)/2/a),"i")
  #print("x2=",-b/2/a,"-",(math.sqrt(-D)/2/a),"i")

沒有留言:

張貼留言