一头小鱼鱼16 2022-03-17 07:49 采纳率: 100%
浏览 185
已结题

C语言求所有方程组解的总数,help!

img


除了十八层循环有没有更好的解法,想过用递归但却不知道怎么编 希望有人能教教我

  • 写回答

1条回答 默认 最新

  • 502203305 2022-03-17 09:18
    关注
    
    #include<stdio.h>
    #include<stdlib.h>
    int a_array[18] = {57,71,87,97,99,101,103,113,114,115,128,129,131,137,147,156,163,186};
    int result[18] = {0};
    
    void recursive(int level,int sum) {
        if (17 < level) {return;}
        int i = 0 ;
        while (1) {
            int next_sum =sum - i * a_array[level];
            if (next_sum > 0 ) {
                result[level] = i;
                recursive(level + 1, next_sum);
            } else if (next_sum == 0) {
                result[level] = i;
                // int j,sum=0;
                // for(j = 0 ; j < 18 ;j++) {printf("%d*%d +",result[j],a_array[j]);sum+=result[j]*a_array[j];}
                // printf("\n%d\n",sum);
                return;
            } else {
                return;
            }
            ++i;
        }
    }
    
    int main() {
        recursive(0,1000);
    }
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

问题事件

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

悬赏问题

  • ¥15 Stata链式中介效应代码修改
  • ¥15 latex投稿显示click download
  • ¥15 请问读取环境变量文件失败是什么原因?
  • ¥15 在若依框架下实现人脸识别
  • ¥15 添加组件无法加载页面,某块加载卡住
  • ¥15 网络科学导论,网络控制
  • ¥100 安卓tv程序连接SQLSERVER2008问题
  • ¥15 利用Sentinel-2和Landsat8做一个水库的长时序NDVI的对比,为什么Snetinel-2计算的结果最小值特别小,而Lansat8就很平均
  • ¥15 metadata提取的PDF元数据,如何转换为一个Excel
  • ¥15 关于arduino编程toCharArray()函数的使用