搞开发的人都需要积累一些经典算法,以备不时之须。
搞开发也有好几年了,积累的一些算法一直没做过整理,这段时间无聊就把这些算法整理以下,以备以后之用。
本文是关于阶梯的一个算法,用到了剩余定理算法,分享下:
爱因斯坦曾出过这样一道有趣的数学题,有一个长阶梯,每步上2阶,最后剩1阶;若每步上3阶,最后剩2阶,若每步上5阶,后剩4阶;若每步上6阶,最后剩5阶;只有每步上7阶,最后一阶也不剩。问至少有多少阶阶梯?
这个是我国古代的韩信点兵问题:古人用剩余定理口算或心算,有计算机以后,可以由计算机帮忙解决了,算法很简单(JAVA实现):
package com.jack.arithmetic;
/**
* 韩信点兵算法
* @author jack
* @date 2010/08/06
*/
public class Ladder {
public static void main(String[] args) {
int count = 0;
while(count>=0){
if ((count % 2 == 1) && count % 3 == 2 && count % 5 == 4 && count % 6 == 5
&& count % 7 == 0) {