算法-经典趣题-爱因斯坦阶梯问题
本文為joshua317原創(chuàng)文章,轉(zhuǎn)載請(qǐng)注明:轉(zhuǎn)載自joshua317博客?算法-經(jīng)典趣題-愛(ài)因斯坦階梯問(wèn)題 - joshua317的博客
一、問(wèn)題
愛(ài)因斯坦曾經(jīng)提出過(guò)這樣一道有趣的數(shù)學(xué)題:
有一個(gè)長(zhǎng)階梯,
若每步上2階,最后剩下1階;
若每步上3階,最后剩2階;
若每步上5階,最后剩下4階;
若每步上6階,最后剩5階;
只有每步上7階,最后剛好一階也不剩。
請(qǐng)問(wèn)該階梯至少有多少階。
二、分析
來(lái)分析一下愛(ài)因斯坦的階梯問(wèn)題。假設(shè)階梯的個(gè)數(shù)為minNumber,按照前述的條件,minNumber應(yīng)該滿足如下條件:
minNumber除以2的余數(shù)為1;
minNumber除以3的余數(shù)為2;
minNumber除以5的余數(shù)為4;
minNumber除以6的余數(shù)為5;
minNumber除以7的余數(shù)為0;
很明顯這個(gè)數(shù)是7的倍數(shù),所以,從7開(kāi)始,對(duì)每個(gè)7的倍數(shù)進(jìn)行判斷,直到尋找到一個(gè)最小的滿足條件的數(shù)據(jù)為止。
三、編程
package com.joshua317;import java.util.Arrays;public class Main {public static void main(String[] args) {int minNumber;System.out.println("愛(ài)因斯階梯問(wèn)題");Jieti jieti = new Jieti();minNumber = jieti.getMinNum();System.out.printf("這個(gè)階梯至少有%d階",minNumber);} }class Jieti {public int getMinNum() {int minNumber = 7;while (true) {if (minNumber%2==1 && minNumber%3==2 && minNumber%5==4 && minNumber%6==5) {break;}minNumber = minNumber+7;}return minNumber;} }本文為joshua317原創(chuàng)文章,轉(zhuǎn)載請(qǐng)注明:轉(zhuǎn)載自joshua317博客?算法-經(jīng)典趣題-愛(ài)因斯坦階梯問(wèn)題 - joshua317的博客
總結(jié)
以上是生活随笔為你收集整理的算法-经典趣题-爱因斯坦阶梯问题的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 关于Error:Execution fa
- 下一篇: 做劣币,挣大钱