Surprisingly there are only three numbers that can be written as the sum of fourth powers of their digits:
1634 = 1^4 + 6^4 + 3^4 + 4^4
8208 = 8^4 + 2^4 + 0^4 + 8^4
9474 = 9^4 + 4^4 + 7^4 + 4^4
As 1 = 1^4 is not a sum it is not included.
The sum of these numbers is 1634 + 8208 + 9474 = 19316.
Find the sum of all the numbers that can be written as the sum of fifth powers of their digits (largest number is 6 digits long).
function result() { let ans = []; let fivePow = 1; let sumOfPows = 0; while(fivePow < 999999) { fivePow++; sumOfPows = fivePow.toString().split('').reverse().reduce((a,v,i) => a + Math.pow(v,5),0); if(sumOfPows == fivePow) ans.push(fivePow); } return ans.reduce((a,v) => a + v,0); }
const result = () =>Array.from(new Array(194980),(val,index)=>index).filter(a => a == a.toString().split("").map(e => Math.pow(parseInt(e), 5)).reduce((a, b) => a+b)).reduce((a,b) => a+b) - 1;- function result() {
- let ans = [];
- let fivePow = 1;
- let sumOfPows = 0;
- while(fivePow < 999999) {
- fivePow++;
- sumOfPows = fivePow.toString().split('').reverse().reduce((a,v,i) => a + Math.pow(v,5),0);
- if(sumOfPows == fivePow) ans.push(fivePow);
- }
- return ans.reduce((a,v) => a + v,0);
- }
describe("Solution", function(){ it("The sum should be equal to our verified solution", function(){ Test.assertEquals(result(), 443839); }); });
// TODO: Replace examples and use TDD development by writing your own tests// These are some CW specific test methods available:// Test.expect(boolean, [optional] message)// Test.assertEquals(actual, expected, [optional] message)// Test.assertSimilar(actual, expected, [optional] message)// Test.assertNotEquals(actual, expected, [optional] message)// NodeJS assert is also automatically required for you.// assert(true)// assert.strictEqual({a: 1}, {a: 1})// assert.deepEqual({a: [{b: 1}]}, {a: [{b: 1}]})// You can also use Chai (http://chaijs.com/) by requiring it yourself// var expect = require("chai").expect;// var assert = require("chai").assert;// require("chai").should();- describe("Solution", function(){
- it("The sum should be equal to our verified solution", function(){
- Test.assertEquals(result(), 443839);
- });
- });
Started with 3, because why waste 2 loops on answers you know aren't correct.
function test(n) { let sum=0; for (let i=3; i<n; i++){ if ((i%3==0) || (i%5==0)){ sum+=i; } } return sum; }
//if you have any Suggestion or noticed a mistake in my code ...tell me...i would need that...- function test(n) {
var sum=0;for (i=1; i<n; i++){- let sum=0;
- for (let i=3; i<n; i++){
- if ((i%3==0) || (i%5==0)){
- sum+=i;
- }
- }
- return sum;
- }