給出乙個正整數n和長度l,找出一段長度大於等於l的連續非負整數,他們的和恰好為n。答案可能有多個,我我們需要找出長度最小的那個。
例如 n = 18 l = 2:
5 + 6 + 7 = 18
3 + 4 + 5 + 6 = 18
都是滿足要求的,但是我們輸出更短的 5 6 7
輸入資料報括一行: 兩個正整數n(1 ≤ n ≤ 1000000000),l(2 ≤ l ≤ 100)
從小到大輸出這段連續非負整數,以空格分隔,行末無空格。如果沒有這樣的序列或者找出的序列長度大於100,則輸出no
輸入:18 2
輸出:5 6 7
嘗試了直勾勾的演算法,從數字1到n,項數從l到100,挨個檢查一遍,複雜度太高了,(我是智障:)
輸出結果的要求,最後乙個後面不能有空格,也迷了好久。
(我是智障*2)
def
search
(n,l)
: result =
['no'
] length =
for i in
range(1
,n,l)
:for j in
range
(l,min
(100
,n))
: arr =
[i for i in
range
(i,i+j)]if
sum(arr)
== n:
#print(arr)
#print(length,result)
return result[length.index(
min(length))+
1]if __name__ ==
'__main__'
:[n,l]
=list
(map
(int
,input()
.split())
) l =
len(search(n,l))-
1for i in
range(0
,l):
print
(search(n,l)
[i], end=
' ')
print
(search(n,l)
[l])
n=n
a1+n
(n−1
)2∗d
,s_n = na_1 + \frac*d,
sn=na
1+2
n(n−
1)∗
d,這裡間隔 d=1
d=1d=
1,推導首項與數列和 n 以及數列項數 n,(
l−
1<
n<
101)
n, (l-1 n,
(l−1
<
n<10
1)的關係:
a 1=
(2n+
n−n2
)2n.
a_1 = \frac.
a1=2n
(2n+
n−n2
).
n, l =
map(
int,
input()
.split())
ans=
['no'
]for n in
range
(l,101):
a =(2
*n + n - n**2)
//(2*n)
#地板除
if a >
0:
arr =
[n for n in
range
(a,a + n)
]print
(n,a,arr)
ifsum
(arr)
== n:
ans =
[str
(n)for n in
range
(a,a + n)
]print
(ans)
break
#第一次滿足要求的n就是最短的,所以立刻跳出迴圈
#我真是個小機靈鬼er
print
(' '
.join(ans)
)#這個用法我真的記住了,要求ans是str型別的
啊睡了
題目來自牛客網
python 超菜der資料分析師筆試
今天透小菜參加了xx的資料分析實習生的筆試,五道程式設計題目,還有兩道都沒來得及讀,前面三道通過率也沒達到百分之百。別問我為什麼這麼菜,我也不知道自己為啥子這麼菜,現在來反思一下下,首先,當然 練得不夠多是乙個原因,我發現我只會用for迴圈啊,過於菜了 其次,在程式設計時候沒有形成框架,沒頭沒腦的開...
Python實習面試之網易資料分析師筆試
可能是我之前複習的有點偏,網易資料分析實習生的筆試題目做起來有些吃力,一共是20個選擇題和3個簡答題,選擇題主要是考察數值分析 概率論 資料結構。其他的內容幾乎沒有涉及。印象比較深的是幾個題是關於均值問題 找零錢問題 還有個鋪地板問題。總體來看主要考察的是概率論。簡答題主要是資料庫,有兩道。最後一道...
了解資料分析師,轉行資料分析師,成為資料分析師
有人說,資料分析師就是分析資料的人唄。有人說,資料分析師是從浩如煙海的資料中發掘價值的淘金者。有人說,資料分析師是對蒐集到的資料進行整理 分析,在依據所屬行業提出的要求進行研究 評估和 的人。有人說,資料分析就是在一些大資料裡面進行統計,歸納還有對這些資料進行挖掘,發現資料裡面的潛在價值 那麼到底什...