Python 網易筆試程式設計題(計算糖果)

2021-07-30 03:09:55 字數 1348 閱讀 3361

如下是網易17年秋招程式設計題裡的題目

a,b,c三個人是好朋友,每個人手裡都有一些糖果,我們不知道他們每個人手上具體有多少個糖果,但是我們知道以下的資訊:

a - b, b - c, a + b, b + c. 這四個數值.每個字母代表每個人所擁有的糖果數.

現在需要通過這四個數值計算出每個人手裡有多少個糖果,即a,b,c。這裡保證最多只有一組整數a,b,c滿足所有題設條件。 

輸入描述:

輸入為一行,一共4個整數,分別為a - b,b - c,a + b,b + c,用空格隔開。

範圍均在-30到30之間(閉區間)。

輸出描述:

輸出為一行,如果存在滿足的整數a,b,c則按順序輸出a,b,c,用空格隔開,行末無空格。

如果不存在這樣的整數a,b,c,則輸出no

輸入例子:

1 -2 3 4

輸出例子:

2 1 3

此題比較容易,就是解乙個三元一次方程組,因比較簡單,這裡我就不再贅述了,直接給出結果:

a = (m1 + m3) / 2, b = (m2 + m4) / 2, c = (m4 - m2) / 2;

接著加乙個判定條件即可

if (m1+m3) % 2 == 0 and (m1+m3) > 0 and (m2+m4) % 2 == 0 and (m2+m4) > 0 and (m4-m2) % 2 == 0 and (m4-m2) > 0:

li = [(m1+m3)/2,(m2+m4)/2,(m4-m2)/2]

ok

,最後照例附上

python

實現

#encoding:utf-8

def func(m1,m2,m3,m4):

if (m1+m3) % 2 == 0 and (m1+m3) > 0 and (m2+m4) % 2 == 0 and (m2+m4) > 0 and (m4-m2) % 2 == 0 and (m4-m2) > 0:

li = [(m1+m3)/2,(m2+m4)/2,(m4-m2)/2]

print " ".join(str(i) for i in li)

else:

print 'no'

n = raw_input()

li = n.split()

m1 = int(li[0])

m2 = int(li[1])

m3 = int(li[2])

m4 = int(li[3])

func(m1,m2,m3,m4)

更多樣例請看這裡喲:

網易筆試程式設計題

時間限制 1秒 空間限制 262144k 又到了豐收的季節,恰逢小易去牛牛的果園裡遊玩。牛牛常說他對整個果園的每個地方都瞭如指掌,小易不太相信,所以他想考考牛牛。在果園裡有n堆蘋果,每堆蘋果的數量為ai,小易希望知道從左往右數第x個蘋果是屬於哪一堆的。牛牛覺得這個問題太簡單,所以希望你來替他回答。輸...

網易筆試 程式設計

1 一片1000 1000的草地,初始站在 1,1 最左上角 每一秒小易都會橫向或縱向到相鄰草地吃草 不會越界 反派超超手上有n個陷阱,第i個陷阱位置 xi,yi 小易一旦進陷阱就會 獲,為解救小易,請計算小易最少多少秒可能會走入乙個陷阱,提前提醒小易 輸入描述 第一行 n 超超的陷阱數 第二行 n...

網易筆試程式設計題 混合顏料

題目描述 你就是乙個畫家!你現在想繪製一幅畫,但是你現在沒有足夠顏色的顏料。為了讓問題簡單,我們用正整數表示不同顏色的顏料。你知道這幅畫需要的n種顏色的顏料,你現在可以去商店購買一些顏料,但是商店不能保證能 所有顏色的顏料,所以你需要自己混合一些顏料。混合兩種不一樣的顏色a和顏色b顏料可以產生 a ...