Special divisors: Difference between revisions

Add Cowgol
(Added Sidef)
(Add Cowgol)
Line 548:
199</pre>
 
=={{header|Cowgol}}==
<lang cowgol>include "cowgol.coh";
 
const MAXIMUM := 200;
typedef N is int(0, MAXIMUM);
 
sub reverse(n: N): (r: N) is
r := 0;
while n != 0 loop
r := r*10 + n%10;
n := n/10;
end loop;
end sub;
 
sub special(n: N): (r: uint8) is
r := 0;
var revn := reverse(n);
var dsor: N := 1;
while dsor <= n/2 loop
if n % dsor == 0 and revn % reverse(dsor) != 0 then
return;
end if;
dsor := dsor + 1;
end loop;
r := 1;
end sub;
 
var n: N := 1;
while n < MAXIMUM loop
if special(n) != 0 then
print_i32(n as uint32);
print_nl();
end if;
n := n + 1;
end loop;</lang>
{{out}}
<pre style='height:50ex;'>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
149
151
157
163
167
173
179
181
191
193
197
199</pre>
=={{header|Delphi}}==
{{libheader| System.SysUtils}}
2,096

edits