2012-09-11 4 views
2

modp(2^n-1,n)=1n을 만족하는 2보다 큰 양의 정수인 경우 n을 2-pseudoprime이라고합니다. 2000보다 작은 모든 2-pseudoprimes를 찾고, 각 pseudoprime에 대해 pseudoprime과 그 주요한 약수의 집합을 출력하십시오.2-Pseudoprimes and output

여기까지 제가 시도한 내용입니다. 그건 그렇고, 이것은 단풍 나무를 사용하고 있습니다.

for n from 2 to 2000 do 
    n, mod(2^n-1,n) isprime(n); 
od; 

는 여기 할 다른 무엇 확실하지 않다. 당신이 필요로하는 무엇

답변

0

if...then...fi를 사용하여 구성 조건문 (또는 더 현대적인 if...then...end if.)

조건이 다음을 만족 원하는 결과를 인쇄 할 수 있다면.

for n from 2 to 2000 do 
    if `mod`(2^n-1,n) = 1 and not(isprime(n)) then 
     print(n, map(expand,{op(ifactor(n))})); 
    fi; 
od;