Idoneal numbers: Difference between revisions
Content added Content deleted
(Iniital post) |
(Added C) |
||
Line 360: | Line 360: | ||
{{out}} |
{{out}} |
||
<pre>Same as the original entry FreeBASIC.</pre> |
<pre>Same as the original entry FreeBASIC.</pre> |
||
=={{header|C}}== |
|||
{{trans|Raku}} |
|||
<syntaxhighlight lang="c">#include <stdio.h> |
|||
#include <stdbool.h> |
|||
bool isIdoneal(int n) { |
|||
int a, b, c, sum; |
|||
for (a = 1; a < n; ++a) { |
|||
for (b = a + 1; b < n; ++b) { |
|||
if (a*b + a + b > n) break; |
|||
for (c = b + 1; c < n; ++c) { |
|||
sum = a*b + b*c + a*c; |
|||
if (sum == n) return false; |
|||
if (sum > n) break; |
|||
} |
|||
} |
|||
} |
|||
return true; |
|||
} |
|||
int main() { |
|||
int n, count = 0; |
|||
for (n = 1; n <= 1850; ++n) { |
|||
if (isIdoneal(n)) { |
|||
printf("%4d ", n); |
|||
if (!(++count % 13)) printf("\n"); |
|||
} |
|||
} |
|||
return 0; |
|||
}</syntaxhighlight> |
|||
{{out}} |
|||
<pre> |
|||
1 2 3 4 5 6 7 8 9 10 12 13 15 |
|||
16 18 21 22 24 25 28 30 33 37 40 42 45 |
|||
48 57 58 60 70 72 78 85 88 93 102 105 112 |
|||
120 130 133 165 168 177 190 210 232 240 253 273 280 |
|||
312 330 345 357 385 408 462 520 760 840 1320 1365 1848 |
|||
</pre> |
|||
=={{header|C#|CSharp}}== |
=={{header|C#|CSharp}}== |