Integer check with a symbolic variable
조회 수: 3 (최근 30일)
이전 댓글 표시
So I have:
s=sym('10517669');
p=nextprime(8*(S^4));
if float((p-1)/2)==(p-1)/2
...
end
I know float only works for single&double-precision, but p is so large I have to use the symbolic toolbox because it don't want to lose precision.
How could I resolve this?
THANKS
댓글 수: 2
Fangjun Jiang
2019년 12월 12일
p is accurately represented using sym object in your code. You know p is an integer from theory. What do you try to do? double(p) or single(p) can't represent p without precision loss.
채택된 답변
추가 답변 (1개)
Fangjun Jiang
2019년 12월 13일
If you want to check whether (p-1)/2 is an integer, then check whether p is an odd number. But since p is a prime number, it seems p is always odd except that p==2.
참고 항목
카테고리
Help Center 및 File Exchange에서 Number Theory에 대해 자세히 알아보기
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!