helloworld


私信TA

用户名:uq_62636900566

访问量:392

签 名:

想要变成大佬

等  级
排  名 1437
经  验 2776
参赛次数 24
文章发表 9
年  龄 19
在职情况 学生
学  校
专  业

  自我简介:

.0.0.0.0.0.0.

TA的其他文章

解题思路:10个位置每个位置上找到满足的数放置


注意事项:

参考代码:

#include <iostream>

#include <cmath>

using namespace std;

int n;

int arr[11];

int sum = 0;

void dfs(int start) {

    if (start == 10) {

        if (sum == n) {

            for (int i = 0; i < 10; i++) {

                cout << arr[i] << " ";

            }

            cout << endl;

        }

        return;

    }

    for (int i = 9; i <= 11; i++) {

        sum += i * pow(3, start);

        arr[start] = i;

        dfs(start + 1);

        sum -= i * pow(3, start); //回溯

    }

}


int main() {

    while(cin>>n)

   { 

        dfs(0);

}

    return 0;

}


 

0.0分

2 人评分

看不懂代码?想转换其他语言的代码? 或者想问其他问题? 试试问问AI编程助手,随时响应你的问题:

编程语言转换万能编程问答  

代码解释器

代码纠错

SQL生成与解释

  评论区

思路相当清晰,通俗易懂,必须好评!
2023-11-15 09:57:41
  • «
  • 1
  • »