错时三刻 2023-03-09 00:41 采纳率: 70%
浏览 44
已结题

飞行棋例举所有走法c语言

初学者,碰到个棘手的问题不会做,请教一下怎么例举所有可能结果


#include<stdio.h>
main()
{
    int x,num=0;
    scanf("%d",&x);
    for(int i=4;i>=0;i--)
    {
        for(int j=5;j>=0;j--)
        {
            for(int k=6;k>=0;k--)
            {
                for(int l=8;l>=0;l--)
                {
                    for(int m=11;m>=0;m--)
                    {
                        for(int n=22;n>=0;n--)
                        {
                            if(i*6+j*5+k*4+l*3+m*2+n==x)
                            {
                            printf("%d %d %d %d %d %d\n",i,j,k,l,m,n);
                            num++;
                            }
                        }
                    }
                }
            }
        }
    }
    
    printf("%d\n",num);
} 

img

  • 写回答

3条回答 默认 最新

  • ksgpjhqf 2023-03-09 12:57
    关注

    只计算走法个数,不需要列举所有走法,也可以不用递归:

    #include<stdio.h>
    int main(){
        int num[22]={1,1,1,1,1,1},i,j;
        for(i=0;i<22;i++){
            for(j=i-6<0?0:i-6;j<i;j++){
                num[i]+=num[j];
            }
        }
        int n;
        while(scanf("%d",&n),n!=0){
            printf("%d\n",num[n-1]);
        }
        return 0;
    } 
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论 编辑记录
查看更多回答(2条)

报告相同问题?

问题事件

  • 系统已结题 3月17日
  • 已采纳回答 3月9日
  • 修改了问题 3月9日
  • 创建了问题 3月9日

悬赏问题

  • ¥15 关于#matlab#的问题:在模糊控制器中选出线路信息,在simulink中根据线路信息生成速度时间目标曲线(初速度为20m/s,15秒后减为0的速度时间图像)我想问线路信息是什么
  • ¥15 banner广告展示设置多少时间不怎么会消耗用户价值
  • ¥16 mybatis的代理对象无法通过@Autowired装填
  • ¥15 可见光定位matlab仿真
  • ¥15 arduino 四自由度机械臂
  • ¥15 wordpress 产品图片 GIF 没法显示
  • ¥15 求三国群英传pl国战时间的修改方法
  • ¥15 matlab代码代写,需写出详细代码,代价私
  • ¥15 ROS系统搭建请教(跨境电商用途)
  • ¥15 AIC3204的示例代码有吗,想用AIC3204测量血氧,找不到相关的代码。