Numbers with prime digits whose sum is 13: Difference between revisions
Content added Content deleted
Line 47: | Line 47: | ||
52222 222223 222232 222322 223222 232222 322222 |
52222 222223 222232 222322 223222 232222 322222 |
||
</pre> |
</pre> |
||
=={{header|C}}== |
|||
Brute force |
|||
<lang c>#include <stdbool.h> |
|||
#include <stdio.h> |
|||
bool primeDigitsSum13(int n) { |
|||
int sum = 0; |
|||
while (n > 0) { |
|||
int r = n % 10; |
|||
switch (r) { |
|||
case 2: |
|||
case 3: |
|||
case 5: |
|||
case 7: |
|||
break; |
|||
default: |
|||
return false; |
|||
} |
|||
n /= 10; |
|||
sum += r; |
|||
} |
|||
return sum == 13; |
|||
} |
|||
int main() { |
|||
int i, c; |
|||
// using 2 for all digits, 6 digits is the max prior to over-shooting 13 |
|||
c = 0; |
|||
for (i = 1; i < 1000000; i++) { |
|||
if (primeDigitsSum13(i)) { |
|||
printf("%6d ", i); |
|||
if (c++ == 10) { |
|||
c = 0; |
|||
printf("\n"); |
|||
} |
|||
} |
|||
} |
|||
printf("\n"); |
|||
return 0; |
|||
}</lang> |
|||
{{out}} |
|||
<pre> 337 355 373 535 553 733 2227 2272 2335 2353 2533 |
|||
2722 3235 3253 3325 3352 3523 3532 5233 5323 5332 7222 |
|||
22225 22252 22333 22522 23233 23323 23332 25222 32233 32323 32332 |
|||
33223 33232 33322 52222 222223 222232 222322 223222 232222 322222</pre> |
|||
=={{header|C#|CSharp}}== |
=={{header|C#|CSharp}}== |