C語言 愛因斯坦的階梯問題

2021-10-02 22:14:04 字數 510 閱讀 9004

愛因斯坦曾經提出過這樣一道有趣的數學題:有乙個長階梯,若每步上2階,最後剩下1階;若每步上3階,最後剩2階;若每步上5階,最後剩下4階;若每步上6階,最後剩5階;只有每步上7階,最後剛好一階也不剩。請問該階梯至少有多少階

int i     = 7;

int times = 1000;

while ((i % 2 != 1 || i % 3 != 2 || i % 5 != 4 || i % 6 != 5) && i < times)

if (i > times)

printf("the no result of einstein's question \n");

else

printf("the result of einstein's question is %d\n", i);

結果:

愛因斯坦階梯問題

愛因斯坦曾經提出過這樣一道有趣的數學題 有乙個長階梯,若每步上2階,最後剩下1階 若每步上3階,最後剩2階 若每步上5階,最後剩下4階 若每步上6階,最後剩5階 只有每步上7階,最後剛好一階也不剩。請問該階梯至少有多少階。我們假設階梯共有n階,我們可以很快的列出下面的式子 n mod 2 1 n m...

愛因斯坦階梯問題

include include intmain return0 還有一種思路,複習做題時遇到的tat int ladders 7 while ladders 3 2 ladders 5 4 ladders 6 5 ladders 14 printf d n ladders 窮舉遍曆法,效率太低,改進...

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語句進行書寫...