2014-02-10 4 views
0

Maple에서 사각형을 제외하는 간단한 루프를 만들려고했습니다.
아래 코드는 제 코드입니다. 나는 그것이 작동하지 않을 것이라는 것을 이미 알고있다. while 코드는 n이 정사각형 인 경우에만 실행되므로 결코 인쇄되지 않습니다. 저는 제수의 수를 원합니다. 그러나 이것을하는 방법에 대해서는 꽤 확신합니다. 방금 사각형이 아닌 임의의 정수로 n을주는 것이 필요합니다.Maple 루프를 만들어 정사각형이 아닌 무작위 정수를 제공하십시오

n := rand(0 .. 100); 

while n=1 or n=4 or n=9 or n=16 or n=25 or n=36 or n=49 or n=64 or n=81 or n=100 do 

if n=1 or n=4 or n=9 or n=16 or n=25 or n=36 or n=49 or n=64 or n=81 or n=100 then 

n := rand(0 .. 100); *(how do I send Maple back up to the start of the loop again?)* 

end if; 

print (n); 

end do: 

답변

2

rand(a..b)은 난수를 생성하지 않습니다. 오히려 주어진 범위에서 난수를 생성하는 프로 시저를 생성합니다. 원하는 것은

R:= rand(2..99): 
    n:= R(): 
    while isqrt(n)^2 = n do n:= R() end do: 
    n; 
입니다.
관련 문제