Special divisors: Difference between revisions

(Add COBOL)
Line 235:
157 163 167 169 173 179 181 187 191 193
197 199</pre>
 
=={{header|C}}==
{{trans|Delphi}}
<lang c>#include <stdbool.h>
#include <stdio.h>
 
int reverse(int n) {
int result = 0;
while (n > 0) {
result = 10 * result + n % 10;
n /= 10;
}
return result;
}
 
int main() {
const int limit1 = 200;
 
int row = 0;
int num = 0;
int n;
 
for (n = 1; n < limit1; n++) {
bool flag = true;
int revNum = reverse(n);
int m;
 
for (m = 1; m < n / 2; m++) {
int revDiv = reverse(m);
if (n % m == 0) {
if (revNum % revDiv == 0) {
flag = true;
} else {
flag = false;
break;
}
}
}
 
if (flag) {
num++;
row++;
printf("%4d ", n);
if (row % 10 == 0) {
printf("\n");
}
}
}
 
printf("\n\nFound %d special divisors N that reverse(D) divides reverse(N) for all divisors D of N, where N < 200\n", num);
 
return 0;
}</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
 
Found 72 special divisors N that reverse(D) divides reverse(N) for all divisors D of N, where N < 200</pre>
 
=={{header|C++}}==
1,452

edits