Digit fifth powers: Difference between revisions

→‎{{header|C++}}: exchanged autos for ints
(Added C++ (fast) version)
(→‎{{header|C++}}: exchanged autos for ints)
Line 246:
 
=={{header|C++}}==
Fast version. Checks numbers up to 399,999, which is above the requirement of 6 * 9<sup>5</sup> and well below the overkill value of 999,999.
Fast version.
<lang cpp>#include <iostream>
#include <cmath>
Line 256:
int nums[] = { 0,1,2,3,4,5,6,7,8,9 }, nu[] = { 0,1,2,3 },
p5[10], t = 0;
for (autoint i : nums) p5[i] = pow(i, 5);
for (autoint i : nu) { //int checksim numbers= upi to* 399999100000, ip = p5[i];
autofor im(int j : nums) { int jm = iim + j * 10000010000, ipjp = ip + p5[ij];
for (autoint jk : nums) { int km = jm + k * 1000, kp = jp + p5[k];
auto jm for (int l : nums) { int lm = imkm + jl * 10000100, jplp = ipkp + p5[jl];
for (autoint km : nums) { int mm = lm + m * 10, mp = lp + p5[m];
auto km = jm +for (int n : knums) *{ 1000,int kpnm = jpmm + p5[k]n;
for (auto l : nums) {
auto lm = km + l * 100, lp = kp + p5[l];
for (auto m : nums) {
auto mm = lm + m * 10, mp =lp + p5[m];
for (auto n : nums) {
auto nm = mm + n;
if (nm == mp + p5[n] && nm > 1) t += nm; } } } } } }
auto et = steady_clock::now();