作业帮 > 综合 > 作业

Matlab编程,总是不对

来源:学生作业帮 编辑:搜狗做题网作业帮 分类:综合作业 时间:2024/07/30 18:01:26
Matlab编程,总是不对
clear all
clc;
number=input('Please enter a number:');
pp=number+1;
a=0;
b=0;
i=2;
while a==0 || b==0
a=0;
b=0;
if(pp-1)/4==0
a=1;
for i=2:(pp-1)
if pp/i==0
break;
else
b=1;
end;
end;
end;
pp=pp+1;

end;
pp
——————————————————————------
题目是输入一个数字,计算出大于该输入数字的最小的质数(pp),同时这个质数可以表示为4*n-1.
运行总是跳不出来,求大神指教
刚刚开始学,写的东西很幼稚.
但是老师什么都没教,就让我们写这种东西.真是苦恼
其实我觉得逻辑没什么问题,但一运行循环就是不停止.
Matlab编程,总是不对
flag = 0;
number=input('Please enter a number:');
num = number;
while flag == 0
num = num+1;
if isprime(num)
if ~mod((num-1),4)
flag = 1;
end
end
end
disp(num)
再问: 尊敬的大神,很不好意思,您能不能帮人帮到底,
题目中说这个数字一定是两个数字的平方和,这道题还有一小问是要求出这两个平方,您能不能也帮帮忙啊。
系统不能增加悬赏了,很抱歉
再答: flag = 0;
number=input('Please enter a number:');
num = number;
while flag == 0
num = num+1;
if isprime(num)
if ~mod((num-1),4)
flag = 1;
end
end
end
disp(num)
n = floor(sqrt(num));
for i=1:n
for j = 1:n
if i^2+j^2==num
break;
end
end
end
disp(i)
disp(j)
再答: flag = 0;
number=input('Please enter a number:');
num = number;
while flag == 0
num = num+1;
if isprime(num)
if ~mod((num-1),4)
flag = 1;
end
end
end
disp(num)
n = floor(sqrt(num));
for i=1:n
for j = 1:n
if i^2+j^2==num
break;
end
end
end
disp(i)
disp(j)