Jump to content

Digit fifth powers: Difference between revisions

Added C++ (fast) version
m (→‎{{header|Pascal}}: correct lost summing of last number in list tmp +=Numbers[High(Numbers)];)
(Added C++ (fast) version)
Line 244:
194979
Total is 443839</pre>
 
=={{header|C++}}==
Fast version.
<lang cpp>#include <iostream>
#include <cmath>
#include <chrono>
using namespace std;
using namespace chrono;
int main() {
auto st = steady_clock::now();
int nums[] = { 0,1,2,3,4,5,6,7,8,9 }, nu[] = { 0,1,2,3 },
p5[10], t = 0;
for (auto i : nums) p5[i] = pow(i, 5);
for (auto i : nu) { // checks numbers up to 399999
auto im = i * 100000, ip = p5[i];
for (auto j : nums) {
auto jm = im + j * 10000, jp = ip + p5[j];
for (auto k : nums) {
auto km = jm + k * 1000, kp = jp + p5[k];
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();
std::cout << t << " " << duration_cast<nanoseconds>(et - st).count() / 1000.0 << " μs";
}</lang>
{{out|Output @ Tio.run}}
<pre>443839 437.436 μs</pre>
 
=={{header|COBOL}}==
Cookies help us deliver our services. By using our services, you agree to our use of cookies.