long_ova 2022-07-22 22:39 采纳率: 0%
浏览 72

MATLAB素数环问题怎么用回溯解决

MATLAB解决素数环问题
代码

function s = primeCircle1(n)
% find the prime circle of 1--2n
% such that each sum of consecutive two terms is prime
n=2*n;
s=dfs(n,1);

function s=dfs(n,step)
persistent visit;
persistent a;
if isempty(visit)
visit=zeros(1,n);
visit(1)=1;
a=visit;
end
if step==n&&isprime(a(n)+a(1))
s=a;
return
else
for k=2:n
if visit(k)==0&&isprime(k+a(step))
a(step+1)=k;
visit(k)=1;
dfs(n,step+1);
visit(k)=0;
end
end
end

运行结果及报错

Output argument "s" (and possibly others) not assigned a value in the execution with "primeCircle1>dfs" function.

出错 primeCircle1 (第 5 行)
s=dfs(n,1);

递归解决不了
最后只需返回一个素数环就可以
  • 写回答

1条回答 默认 最新

  • weixin_44188032 2022-07-28 19:00
    关注

    请问这个问题解决了吗,是怎么解决的呢

    评论

报告相同问题?

问题事件

  • 创建了问题 7月22日

悬赏问题

  • ¥15 求daily translation(DT)偏差订正方法的代码
  • ¥15 js调用html页面需要隐藏某个按钮
  • ¥15 ads仿真结果在圆图上是怎么读数的
  • ¥20 Cotex M3的调试和程序执行方式是什么样的?
  • ¥20 java项目连接sqlserver时报ssl相关错误
  • ¥15 一道python难题3
  • ¥15 牛顿斯科特系数表表示
  • ¥15 arduino 步进电机
  • ¥20 程序进入HardFault_Handler
  • ¥15 关于#python#的问题:自动化测试