DIM x AS INTEGER, y AS INTEGER
DIM f AS INTEGER, p AS INTEGER
CLS
FOR x = 0 TO 40
y = x * x + x + 41
IF y MOD 2 = 0 THEN f = -1 ELSE f = 0
p = 3
DO WHILE f = 0 AND p * p <= y
IF y MOD p = 0 THEN f = -1 ELSE f = 0
p = p + 2
LOOP
IF f = 0 THEN
PRINT "x="; x, "y="; y, "Is Prime"
ELSE
PRINT "x="; x, "y="; y, "Not Prime"
END IF
NEXT x
END
Обнаружился странный эффект qBASIC.
Последовательность команд:
y:=x^2+x+41 для x=40 присваивает у значение 1681.
Для p=41 значение p^2 также равно 1681, но значение выражения
p^2<=y при этом оказывается ложным, хотя p^2 в этом случае должно быть равно у.
В связи с этой странностью вместо х^2 использовано х*х, а вместо p^2 использовано р*р.
Результат выполнения программы:
x= 0 y= 41 Is Prime
x= 1 y= 43 Is Prime
x= 2 y= 47 Is Prime
x= 3 y= 53 Is Prime
x= 4 y= 61 Is Prime
x= 5 y= 71 Is Prime
x= 6 y= 83 Is Prime
x= 7 y= 97 Is Prime
x= 8 y= 113 Is Prime
x= 9 y= 131 Is Prime
x= 10 y= 151 Is Prime
x= 11 y= 173 Is Prime
x= 12 y= 197 Is Prime
x= 13 y= 223 Is Prime
x= 14 y= 251 Is Prime
x= 15 y= 281 Is Prime
x= 16 y= 313 Is Prime
x= 17 y= 347 Is Prime
x= 18 y= 383 Is Prime
x= 19 y= 421 Is Prime
x= 20 y= 461 Is Prime
x= 21 y= 503 Is Prime
x= 22 y= 547 Is Prime
x= 23 y= 593 Is Prime
x= 24 y= 641 Is Prime
x= 25 y= 691 Is Prime
x= 26 y= 743 Is Prime
x= 27 y= 797 Is Prime
x= 28 y= 853 Is Prime
x= 29 y= 911 Is Prime
x= 30 y= 971 Is Prime
x= 31 y= 1033 Is Prime
x= 32 y= 1097 Is Prime
x= 33 y= 1163 Is Prime
x= 34 y= 1231 Is Prime
x= 35 y= 1301 Is Prime
x= 36 y= 1373 Is Prime
x= 37 y= 1447 Is Prime
x= 38 y= 1523 Is Prime
x= 39 y= 1601 Is Prime
x= 40 y= 1681 Not Prime
3.1
4.1
9.1
поидее так и почему вопр. одинаковы
Это это либо скриншот либо обои картинка,,,
Выдели изображение и нажми ctrl+c, а затем ctrl+v