189 8069 5689

java韩信点兵代码 韩信数点兵程序

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

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

创新互联建站是网站建设技术企业,为成都企业提供专业的做网站、网站建设,网站设计,网站制作,网站改版等技术服务。拥有10年丰富建站经验和众多成功案例,为您定制适合企业的网站。10年品质,值得信赖!

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;

}

}

请问韩信点兵用c语言怎么编写啊?

用枚举法即可,在最大带兵范围内循环计算,直至找到合适的数。

题主的具体题目是什么?我这里先按最核心的内容编写代码吧。

题目:韩信带兵1500人,战死大约400-500,剩余兵力,3人一排多2人,5人一排多4人,7人一排多6人,求韩信剩余多少兵力。

#include stdio.h

int main (void) {

int n; 

for (n=1000; n1100; n++) /*战死大约400-500,循环范围即在1000-1100之间*/

if((n%3==2)(n%5==4)(n%7==6)) /*循环找寻某数符合除3余2且除5余4且除7余6*/

printf("韩信剩余兵力为%d人!",n);

getch ();

return 0;

}

运行结果

编写程序求解下述韩信点兵问题:

‘2111个士兵

’vb代码

Private Sub Command1_Click()

Dim i As Long

Do

i = i + 1

If i Mod 5 = 1 And i Mod 6 = 5 And i Mod 7 = 4 And i Mod 11 = 10 Then Exit Do

Loop

Print i

End Sub

关于ECLIPSE的问题

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

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


分享标题:java韩信点兵代码 韩信数点兵程序
转载来源:http://cdxtjz.cn/article/hpjdhd.html

其他资讯