java韩信点兵代码实现 韩信点兵伪代码

韩信点兵不足百人,3人一行多1个,7人一行少2个,5人一行正好,问有多少兵

答案 :40

若羌ssl适用于网站、小程序/APP、API接口等需要进行数据传输应用场景,ssl证书未来市场广阔!成为创新互联建站的ssl证书销售渠道,可以享受市场价格4-6折优惠!如果有意向欢迎电话联系或者加微信:18980820575(备注:SSL证书合作)期待与您的合作!

我用了比较笨的办法,这种办法如果对数字比较敏感的一下就能出来。

可以把原题改为这样,100以内的数,这个数减一能被3整除,加2能被7整除,能被5整除。

我是这样想的,能被7整除的数:7、14、21、28、35、42、49、56、63、70、77、84、91、98,这个数减2能被5整除,如果能被5整除的话尾数肯定是0或者5,那么一目了然是40

见笑了。

用Java编程解决韩信点兵的问题?

给你提供三种方法,楼下的太具有局限性。我这个还有点错误,但是对这个题没啥事,当按对应的数报数时,如果最后一个报数为最后一个,要余数等于0

public class HanXin {

public static void main(String[] args) {

int num=HanXin.peopleNum(1,1,5,4,10);

System.out.println(num);

num = HanXin.peoplrNum_For(1,1,5,4,10);

System.out.println(num);

num = HanXin.peoplrNum_For_op(1,5,4,10);

System.out.println(num);

}

//递归方法

public static int peopleNum(int num,int num5,int num6,int num7,int num11){

if(num%5==num5  num%6==num6  num%7==num7  num%11==num11){

return num;

}else{

return peopleNum(num+1,num5,num6,num7,num11);

}

}

//循环方法number of people

public static int peoplrNum_For(int num,int num5,int num6,int num7,int num11){

for(int i = num; i  0; i++){

if(i%5==num5  i%6==num6  i%7==num7  i%11==num11){

return i;

}

}

return 0;

}

//循环方法,针对题目优化版

public static int peoplrNum_For_op(int num5,int num6,int num7,int num11){

for(int i = 10; i  0; i++){

if(i%5==num5  i%6==num6  i%7==num7  i%11==num11){

return i;

}

}

return 0;

}

}

关于ECLIPSE的问题

运行时在代码窗口点鼠标右键,选择 run as -- Java application

中文的我不太清楚具体是什么,不过估计差不多是 运行 -- Java程序 一类的。


文章标题:java韩信点兵代码实现 韩信点兵伪代码
浏览路径:http://ybzwz.com/article/hhjdes.html