給你提供三種方法,樓下的太具有局限性。我這個(gè)還有點(diǎn)錯(cuò)誤,但是對(duì)這個(gè)題沒(méi)啥事,當(dāng)按對(duì)應(yīng)的數(shù)報(bào)數(shù)時(shí),如果最后一個(gè)報(bào)數(shù)為最后一個(gè),要余數(shù)等于0
創(chuàng)新互聯(lián)建站是網(wǎng)站建設(shè)技術(shù)企業(yè),為成都企業(yè)提供專(zhuān)業(yè)的做網(wǎng)站、網(wǎng)站建設(shè),網(wǎng)站設(shè)計(jì),網(wǎng)站制作,網(wǎng)站改版等技術(shù)服務(wù)。擁有10年豐富建站經(jīng)驗(yàn)和眾多成功案例,為您定制適合企業(yè)的網(wǎng)站。10年品質(zhì),值得信賴(lài)!
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);
}
}
//循環(huán)方法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;
}
//循環(huán)方法,針對(duì)題目?jī)?yōu)化版
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;
}
}
用枚舉法即可,在最大帶兵范圍內(nèi)循環(huán)計(jì)算,直至找到合適的數(shù)。
題主的具體題目是什么?我這里先按最核心的內(nèi)容編寫(xiě)代碼吧。
題目:韓信帶兵1500人,戰(zhàn)死大約400-500,剩余兵力,3人一排多2人,5人一排多4人,7人一排多6人,求韓信剩余多少兵力。
#include?stdio.h
int?main?(void)?{
int?n;?
for?(n=1000;?n1100;?n++)?/*戰(zhàn)死大約400-500,循環(huán)范圍即在1000-1100之間*/
if((n%3==2)(n%5==4)(n%7==6))?/*循環(huán)找尋某數(shù)符合除3余2且除5余4且除7余6*/
printf("韓信剩余兵力為%d人!",n);
getch?();
return?0;
}
運(yùn)行結(jié)果
‘2111個(gè)士兵
’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
運(yùn)行時(shí)在代碼窗口點(diǎn)鼠標(biāo)右鍵,選擇 run as -- Java application
中文的我不太清楚具體是什么,不過(guò)估計(jì)差不多是 運(yùn)行 -- Java程序 一類(lèi)的。