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://hbruida.cn/article/hpjdhd.html