本文主要是介绍从1、2、3......9九个数中选择五个各不相同的数放入下方框中,并使该等式成立。,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
从1、2、3…9九个数中选择五个各不相同的数放入下方框中,并使该等式成立。
例如:14+9=23,要求使用回溯算法求出所有可能的情况。
#include <stdio.h>int visist[10] = {0}; // 标记void dfs(int *a, int len) {// 当长度等于 5 时,判断是否满足条件,满足的话则输出if(len == 5) {if(a[0]*10+a[1] + a[2] == a[3]*10+a[4]) {printf("%d + %d = %d\n",a[0]*10+a[1],a[2],a[3]*10+a[4]);}return ;}for(int i = 1; i <= 9; i++) {// 如果i还未被标记,则继续递归下去if(!visist[i]) {visist[i] = 1; //标记ia[len] = i;dfs(a,len+1);visist[i] = 0; //取消标记,回溯}}
}int main() {int a[5] = {0};dfs(a,0);return 0;
}
这篇关于从1、2、3......9九个数中选择五个各不相同的数放入下方框中,并使该等式成立。的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!