-
一元二次方程求根
描述
一元二次方程ax2+bx+c=0,a、b、c的值由用戶在三行中輸入,根據用戶輸入的數值求解方程的實數解:
如果a值 為0,根據b值判斷方程是否有解並輸出,如果a與b同時為0,則輸出Data error!
如果方程無實數解,輸出“該方程無實數解”;
如果方程有兩個相同的實數解,輸出一個解;
如果方程有兩個不同的實數解,在一行內按從大到小順序輸出方程的兩個解,用空格分隔。
輸入格式
輸入三行數據, 每行輸入一個實數
輸出格式
方程的解
輸入輸出示例
輸入 輸出 示例 1 8
5
2
0
5
6
0
0
9
該方程無實數解
-1.2
Data error!
import math a=eval(input()) b=eval(input()) c=eval(input()) if a == 0: if b!=0: x=(-c)/b print("{}".format(x)) if b==0: print("Data error!") else: if b**2-4*a*c<0: print("該方程無實數解") if b**2-4*a*c>0: x1=(-b+math.sqrt(b**2-4*a*c))/(2*a) x2=(-b-math.sqrt(b**2-4*a*c))/(2*a) if x1>x2: print("{} {}".format(x1,x2)) if x1<x2: print("{} {}".format(x2,x1)) if b**2-4*a*c==0: x=(-b+math.sqrt(b**2-4*a*c))/(2*a) print("{}".format(x))
-
百錢買百雞
描述
我國古代數學家張丘建在《算經》一書中提出的數學問題:雞翁一值錢五,雞母一值錢三,雞雛三值錢一。百錢買百雞,如果要求雞翁、雞母、雞雛都不為零,問雞翁、雞母、雞雛各幾何?
輸入格式
該題目沒有輸入
輸出格式
每行輸出一組結果,按雞翁數、雞母數、雞雛數的順序輸出,數字之間用空格分隔;
如果有多組解時,按公雞數量由少到多輸出;
輸入輸出示例
輸入 輸出 示例 1 jw=5 jm=3 jc=1/3 for i in range(1,100): a=i for n in range(1,100-i): b=n c=100-b-a if a*5+b*3+c*1/3==100: print("{} {} {}".format(a,b,c)) else: continue
- 0370038003300381586927928141
雞兔同籠
描述
大約在1500年前,《孫子算經》中就記載了這個有趣的問題。書中是這樣敘述的:
今有雉兔同籠,上有三十五頭,下有九十四足,問雉兔各幾何?
這四句話的意思是:
有若干只雞兔同在一個籠子里,從上面數,有35個頭,從下面數,有94只腳。問籠中各有多少只雞和兔?請編一個程序,用戶在同一行內輸入兩個整數,代表頭和腳的數量,編程計算籠中各有多少只雞和兔,假設雞和兔都正常,無殘疾。如無解則輸出Data Error!
a,b = input().split() #讀入兩個數到a b中 a,b = map(int,input().split(',')) #讀入兩個整數到a,b中,輸入的數用逗號分隔 a,b = map(int,input().split(' ')) #讀入兩個整數到a,b中,輸入的數用空格分隔
輸入格式
在一行里輸入兩個整數,用空格分隔
輸出格式
在一行里輸出兩個正整數,分別是雞和兔的數量,用空格分隔
如無解則輸出Data Error!
輸入輸出示例
輸入 輸出 示例 1 35 94
-4 16
23 12
Data Error!
a,b=input().split(' ') j=(4*eval(a)-eval(b))//2 t=eval(a)-j if j>=0 and t>=0 : if j*2+t*4==eval(b): print("{} {}".format(j,t)) else: print("Data Error!")
-
最大公約數和最小公倍數
描述
本題要求兩個給定正整數的最大公約數和最小公倍數。
輸入格式
兩行輸入:
每行給出一個正整數(≤1000)。
輸出格式
在一行中順序輸出M和N的最大公約數和最小公倍數,兩數字間以1空格分隔。
輸入輸出示例
輸入 輸出 示例 1 4
6
12
36
3
132 12
12 36
1 39
def gy(a,b): while a!= 0: w = int(b%a) b=a a=w return b def gb(a,b): return int(a*b/gy(a,b)) a=eval(input()) b=eval(input()) if a>b: a,b=b,a print(gy(a,b),gb(a,b))
-
判斷三角形並計算面積
描述
輸入三個數a,b,c, 判斷能否以它們為三個邊長構成三角形。若能,輸出YES和三角形面積(結果保留2位小數),否則輸出NO。
輸入格式
輸入包括三行,每行是一個數字
輸出格式
'YES' 和面積值(結果保留2位小數),或'NO'
輸入輸出示例
輸入 輸出 示例 1 3
4
5YES import math a=eval(input()) b=eval(input()) c=eval(input()) ls=[a,b,c] ls.sort() if ls[0]+ls[1]>ls[2]: print("YES") p=(a+b+c)/2 S=math.sqrt(p*(p-a)*(p-b)*(p-c)) print("{:.2f}".format(S)) else: print("NO")
-
判斷IP地址合法性
描述
互聯網上的每台計算機都有一個獨一無二的編號,稱為IP地址,每個合法的IP地址由'.'分隔開的4個數字組成,每個數字的取值范圍是0-255。
現在用戶輸入一個字符串(不含空白符,不含前導0,如001直接輸入1),請你判斷s是否為合法IP,若是,輸出'Yes',否則輸出'No'。
如用戶輸入為202.114.88.10, 則輸出Yes; 當用戶輸入202.114.88,則輸出No。
輸入格式
一個字符串
輸出格式
輸出'Yes'或'No'
輸入輸出示例
輸入 輸出 示例 1 255.255.255.0 Yes s = input() s = s.split('.') if len(s) == 4: for i in range(4): if i <3: if s[i].isdigit()==False or eval(s[i])>255 or eval(s[i])<0: print('No') break else: print('Yes') else: print('No')
-
回文素數
描述
回文素數是指一個數既是素數又是回文數。例如,131,既是素數又是回文數。
用戶輸入一個正整數n(1 <= n <= 100), 請你在一行內輸出從小到大排列的的前n個回文素數,數字之間用空格分隔。輸入格式
輸入一個正整數
輸出格式
符合要求的回文素數
輸入輸出示例
輸入 輸出 示例 1 10 2 3 5 7 11 101 131 151 181 191 def sushu(num): if num < 2: return False for i in range(2,int(math.sqrt(num))+1): if num % i == 0: return False return True def huiwen(num): ls=str(num) for i in range(1000): if ls[::-1]==ls[:]: return True import math n=int(input()) a=0 b=1 while (a!=n): if(huiwen(b) and sushu(b)): print(b ,end=' ') a=a+1 b=b+1
-
反素數
描述
反素數(逆向拼寫的素數)是指一個將其逆向拼寫后也是一個素數的非回文數。例如:13和31都是素數,且13和31都不是回文數,所以,13和31是反素數。
輸入一個正整數n(1 <= n <= 100), 請輸出從小到大排列的的前n個反素數,數字間以空格進行分隔。輸入格式
輸入一個正整數
輸出格式
符合條件的反素數
輸入輸出示例
輸入 輸出 示例 1 10 13 17 31 37 71 73 79 97 107 113 def sushu(num): if num < 2: return False for i in range(2,int(math.sqrt(num))+1): if num % i == 0: return False return True def nixiangsushu(num): ls=str(num) num=ls[::-1] if int(num) < 2: return False for i in range(2,int(math.sqrt(int(num)))+1): if int(num) % i == 0: return False return True def huiwen(num): ls=str(num) for i in range(1000): if ls[::-1]==ls[:]: return False else: return True import math n=int(input()) a=0 b=1 while (a!=n): if(huiwen(b) and sushu(b) and nixiangsushu(b)): print(b ,end=' ') a=a+1 b=b+1
-
今天是第幾天
描述
輸入年月日,判斷這一天是這一年的第幾天?
輸入格式
輸入包括三行:
第一行是一個不超過四位數的正整數
第二行是一個不超過12的正整數
第三行是一個不超過31的正整數
輸出格式
某年某月某日是某年的第多少天
輸入輸出示例
輸入 輸出 示例 1 2018
2
1
2018年2月1日是2018年第32天 y=int(input()) m=int(input()) d=int(input()) a=31 b=30 if y%4==0: t=29 else: t=28 if y<10000 and m<13 and d<32: if m==1: c=d if m==2: c=a+d if m==3: c=a+t+d if m==4: c=a*2+t+d if m==5: c=a*2+t+b+d if m==6: c=a*3+t+b+d if m==7: c=a*3+t+b*2+d if m==8: c=a*4+t+b*2+d if m==9: c=a*5+t+b*2+d if m==10: c=a*5+t+b*3+d if m==11: c=a*6+t+b*3+d elif m==12: c=a*6+t+b*4+d print("{}年{}月{}日是{}年第{}天".format(y,m,d,y,c))
- 3000370038003300381586928731015
提取首字符
描述
用戶輸入一串單詞或數字,中間用空格分隔,提取每個單詞或數字的第一個字符生成一個新的字符串並輸出。
輸入格式
一個包括空格的字符串,以回車結束輸入。
輸出格式
提取每個單詞或數字的第一個字符生成的一個新的字符串
輸入輸出示例
輸入 輸出 示例 1 Waiting for my favorite songs Wfmfs s=input() s=str(' '+s) for i in range(len(s)): if s[i]==' ': print("{}".format(s[i+1]),end="")
- 00370038003300381586929417380
判斷火車票座位
描述
用戶輸入一個數字和一個字母組成的座位號,根據字母判斷位置是窗口還是過道。目前中國高鐵和國內飛機窗口位置的字母是'A'和'F',過道位置是'C'和 'D',中間位置是'E'。
每個車廂座位排數是1-17,字母不區分大小寫。輸入格式
輸入一個數字和字母組合成的字符串
輸出格式
'窗口'或'過道' 或'輸入錯誤'
輸入輸出示例
輸入 輸出 示例 1 12F
2C
窗口
過道
try: s=input() ls=str(s) if ls[-1] in ['F','f'] and 0<eval(ls[:-1])<18: print("窗口") elif ls[-1] in ['C','c'] and 0<eval(ls[:-1])<18: print("過道") elif ls[-1] in ['E','e'] and 0<eval(ls[:-1])<18: print("中間") else: print("輸入錯誤") except SyntaxError: print("輸入錯誤")