【发布时间】:2013-09-05 13:22:15
【问题描述】:
我正在努力使我的程序正常工作。它适用于素数。
下面是我的函数,然后是我的主程序
我相信这是正确的格式,(显然我可能错了,因为它不起作用),我一直在尝试修复它,但无济于事。任何帮助都将不胜感激,并且解释我做错了什么(我很确定它与微妙的格式有关)也会很棒。
function [answer,primefactors ] = primey1 (N)
for i=2:(N-1)
A(i-1)=rem(N,i);
end
A;
if(all(A)==1)
answer=['Yes']
primefactors=[1,N]
elseif(all(A)==0)
answer=['No']
fac=[]
for i=2:N
q=0;
while N/i==floor(N/i)
N=N/i;
q=q+1;
end
if q>0
fac=[fac,i]
if N==1
break
primefactors=[fac]
end
end
end
end
endfunction
【问题讨论】:
-
我使用的主程序函数是:N = 15485863; [答案,素数] = primey1(N); fprintf('%i 是素数吗?%s \n', N, answer) fprintf('%i 的素数是:\n' , N) fprintf('%i \n' , 素数)
-
对于初学者来说很好......它的格式不正确
-
你能解释一下这个:“cause it not working”更详细一点吗?您是否收到特定的错误消息?
-
它想做什么?我不想试图解释代码在做什么并发现它有问题。
-
我尝试了不同的方法来调整它,它说要么输出有错误(就好像输出不存在一样)。并且程序是确定值N是否是质数,如果是,它的质因数是什么。