代码求调
  • 板块灌水区
  • 楼主封禁用户
  • 当前回复16
  • 已保存回复16
  • 发布时间2024/6/14 22:24
  • 上次更新2024/6/15 10:47:10
查看原帖
代码求调
1219110
封禁用户楼主2024/6/14 22:24

这道题

#include <iostream>
#include <cmath>
using namespace std;
int n, ans;
int a[15], flag[15];
bool prime(int num){
    if(num<=1){
        return false;
    }
    for(int i=2;i<=sqrt(num);i++){
        if(num%i==0){
            return false;
        }
    }
    return true;
}
void dfs(int x, int sum){
    if(x==n+1){
        if(sum==n){
            ans++;
        }
        return;
    }
    for(int i=2;i<=n+1;i++){
        if(flag[i]==1){
            continue;
        }
        a[x]=i;
        flag[i]=1;
        if(prime(a[x]+a[x-1])==true){
            sum++;
        }
        dfs(x+1, sum);
        flag[i]=0;
    }
}
int main() {
    cin >> n;
    a[1]=1;
    a[n+1]=1;
    dfs(2, 0);
    cout << ans << endl;
    return 0;
}


给所有帮助我的人一个关注, 谢谢

2024/6/14 22:24
加载中...