#include
#include
intmain()
}return0;
}
還有一種思路,複習做題時遇到的tat
int ladders =7;
while
(ladders%3!=
2|| ladders%5!=
4|| ladders%6!=
5)ladders+=14
;printf
("%d\n"
,ladders)
;
窮舉遍曆法,效率太低,改進一下:
這裡有個明顯的規律:階梯的總數分別除以2、3、5、6餘數分別為1、2、4、5,能同時滿足這四個條件的最小階梯數是29,而2,3,5,6的最小公倍數為30,因此,這個數必須是30的倍數-1。
#include
intmain
(int argc,
char
*ar**)
printf
("result is: %d\n"
,i);
return0;
}
愛因斯坦階梯問題
愛因斯坦曾經提出過這樣一道有趣的數學題 有乙個長階梯,若每步上2階,最後剩下1階 若每步上3階,最後剩2階 若每步上5階,最後剩下4階 若每步上6階,最後剩5階 只有每步上7階,最後剛好一階也不剩。請問該階梯至少有多少階。我們假設階梯共有n階,我們可以很快的列出下面的式子 n mod 2 1 n m...
python 愛因斯坦階梯問題
解釋 設有台階若干,每跨2階,最後餘1階,跨3階餘2階,跨5階餘4階,跨6階餘5階,跨7階正好到達階梯頂部。分析 先假設有i,餘2等於1,餘3等於2,以此類推。1 i 2 1and i 3 2and i 5 4and i 6 5and i 7 0符合以上 即可。可以使用while和for語句進行書寫...
C語言 愛因斯坦的階梯問題
愛因斯坦曾經提出過這樣一道有趣的數學題 有乙個長階梯,若每步上2階,最後剩下1階 若每步上3階,最後剩2階 若每步上5階,最後剩下4階 若每步上6階,最後剩5階 只有每步上7階,最後剛好一階也不剩。請問該階梯至少有多少階 int i 7 int times 1000 while i 2 1 i 3 ...