韓信點兵演算法c語言
① c語言 韓信點兵
for(i=5;;i+=5)
{if((i+1)%6==5&&(i+1)%7==4&&(i+1)%11==10)
{printf("韓信有%d個兵",i+1));break;}
}
② 韓信點兵(c語言)
你完全沒有按照題目要求做。
#include<stdio.h>
voidmain(){
longlongi,A,B,C,D,E,F,G,H,a,b,c,d,e,f,g,h;
scanf("%lld%lld%lld%lld%lld%lld%lld%lld%lld%lld%lld%lld%lld%lld%lld%lld",&A,&B,&C,&D,&E,&F,&G,&H,&a,&b,&c,&d,&e,&f,&g,&h);
for(i=A;;i++)
if(i%A==a&&i%B==b&&i%C==c&&i%D==d&&i%E==e&&i%F==f&&i%G==g&&i%H==h)
{printf("%lld",i);break;}
}
運行示例:
③ c語言韓信點兵
#include"stdio.h"
voidmain()
{
intnum1,num2;
inti,count=0;
printf("請輸出兩個整數:");
scanf("%d%d",&num1,&num2);
for(i=num1;i<=num2;i++)
{
if(i%3==2&&i%5==3&&i%7==2)
{
printf("%8d",i);
count++;
if(count%10==0)
printf(" ");
}
}
}
幫你手打了一下,你自己測試與調試一下
④ c語言題目,韓信點兵
代碼如下,盼有所幫助:
#include<stdio.h>
intmain()
{
intiStart=0,iEnd=0,iCount=0,index=0;
printf("請輸入兩個整數(用逗號隔開):");
scanf("%d,%d",&iStart,&iEnd);
index=iStart<=iEnd?iStart:iEnd;
iEnd=iStart>=iEnd?iStart:iEnd;
for(;index<=iEnd;++index)
{
if((2==index%3)&&(3==index%5)&&(2==index%7))
{
printf("%d",index);
++iCount;
if(0==iCount%10)printf(" ");
}
}
printf(" 共找到%d個符合條件的數。 ",iCount);
return0;
}
⑤ c語言——韓信點兵
#include<stdio.h>
main()
{
int n=900;
while(n<1100)
{ if(n%3==1&&n%5==1&&n%7==1)
{printf("%d\n",n);break;}
else n++;
}
} 最後等於946
⑥ 請問韓信點兵用c語言怎麼編寫啊
用枚舉法即可,在最大帶兵范圍內循環計算,直至找到合適的數。
題主的具體題目是什麼?我這里先按最核心的內容編寫代碼吧。
題目:韓信帶兵1500人,戰死大約400-500,剩餘兵力,3人一排多2人,5人一排多4人,7人一排多6人,求韓信剩餘多少兵力。
#include<stdio.h>
intmain(void){
intn;
for(n=1000;n<1100;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();
return0;
}
運行結果
⑦ 韓信點兵,C語言
#include<stdio.h>
intmain()
{
inti;
for(i=6;i<=100000;i++){
if(i%5==1&&i%6==5&&i%7==4&&i%11==10){
printf("總數為:%d",i);
break;
}
}
return0;
}
⑧ c語言韓信點兵中&&與||
||是"邏輯或",表示多個條件有一個滿足,即為條件滿足。
用&&("邏輯與",表示必須各個條件全部滿足,才算條件滿足)實現的程序也可以,不過要這樣寫:
#include <stdio.h>
int main(void)
{
int x;
x=10;
while(!(x%5==1&&x%6==5&&x%7==4&&x%11==10))// !XXXX 表示「不是XXXX"
x++;
printf("韓信總共有%d個兵\n",x);
getch();
return 0;
}
⑨ C語言,韓信點兵編程,看看我的錯在哪
你的演算法根本就不能得到結果,計算機是死的,不像人有思維,所以你只能一個個數去試,用循環實現:
int f(){
int x=10;//你可以從1開始,按最後一個分析,至少有10人
while(1)
if(x%5==1&&x%6==5&&x%7==4&&x%11==10)break;
else x++;
return x;
}
int main(void)
{
int x;
x=f();
printf("%d\n",x);
return 0;
}
⑩ 求韓信點兵演算法(c語言),限時500ms,求解
答案:22439962