Special divisors: Difference between revisions
Content added Content deleted
Not a robot (talk | contribs) (Add Modula-2) |
|||
Line 983: | Line 983: | ||
<pre>{1, 2, 3, 4, 5, 6, 7, 8, 9, 11, 13, 17, 19, 22, 23, 26, 27, 29, 31, 33, 37, 39, 41, 43, 44, 46, 47, 53, 55, 59, 61, 62, 66, 67, 69, 71, 73, 77, 79, 82, 83, 86, 88, 89, 93, 97, 99, 101, 103, 107, 109, 113, 121, 127, 131, 137, 139, 143, 149, 151, 157, 163, 167, 169, 173, 179, 181, 187, 191, 193, 197, 199} |
<pre>{1, 2, 3, 4, 5, 6, 7, 8, 9, 11, 13, 17, 19, 22, 23, 26, 27, 29, 31, 33, 37, 39, 41, 43, 44, 46, 47, 53, 55, 59, 61, 62, 66, 67, 69, 71, 73, 77, 79, 82, 83, 86, 88, 89, 93, 97, 99, 101, 103, 107, 109, 113, 121, 127, 131, 137, 139, 143, 149, 151, 157, 163, 167, 169, 173, 179, 181, 187, 191, 193, 197, 199} |
||
72</pre> |
72</pre> |
||
=={{header|Modula-2}}== |
|||
<lang modula2>MODULE SpecialDivisors; |
|||
FROM InOut IMPORT WriteCard, WriteLn; |
|||
CONST Max = 200; |
|||
VAR n, col: CARDINAL; |
|||
PROCEDURE Reverse(n: CARDINAL): CARDINAL; |
|||
VAR result: CARDINAL; |
|||
BEGIN |
|||
result := 0; |
|||
WHILE n > 0 DO |
|||
result := result*10 + n MOD 10; |
|||
n := n DIV 10; |
|||
END; |
|||
RETURN result; |
|||
END Reverse; |
|||
PROCEDURE Special(n: CARDINAL): BOOLEAN; |
|||
VAR reverse, divisor: CARDINAL; |
|||
BEGIN |
|||
reverse := Reverse(n); |
|||
FOR divisor := 1 TO n DIV 2 DO |
|||
IF (n MOD divisor = 0) AND (reverse MOD Reverse(divisor) # 0) THEN |
|||
RETURN FALSE; |
|||
END; |
|||
END; |
|||
RETURN TRUE; |
|||
END Special; |
|||
BEGIN |
|||
col := 0; |
|||
FOR n := 1 TO Max DO |
|||
IF Special(n) THEN |
|||
WriteCard(n, 4); |
|||
col := col + 1; |
|||
IF col MOD 10 = 0 THEN |
|||
WriteLn(); |
|||
END; |
|||
END; |
|||
END; |
|||
WriteLn(); |
|||
END SpecialDivisors.</lang> |
|||
{{out}} |
|||
<pre> 1 2 3 4 5 6 7 8 9 11 |
|||
13 17 19 22 23 26 27 29 31 33 |
|||
37 39 41 43 44 46 47 53 55 59 |
|||
61 62 66 67 69 71 73 77 79 82 |
|||
83 86 88 89 93 97 99 101 103 107 |
|||
109 113 121 127 131 137 139 143 149 151 |
|||
157 163 167 169 173 179 181 187 191 193 |
|||
197 199</pre> |
|||
=={{header|Nim}}== |
=={{header|Nim}}== |