Project Euler 62

by uwi
@see http://projecteuler.net/index.php?section=problems&id=62
♥0 | Line 44 | Modified 2010-05-20 09:51:21 | MIT License
play

ActionScript3 source code

/**
 * Copyright uwi ( http://wonderfl.net/user/uwi )
 * MIT License ( http://www.opensource.org/licenses/mit-license.php )
 * Downloaded from: http://wonderfl.net/c/g7y5
 */

package {
    import flash.display.Sprite;
    import flash.text.TextField;
    import flash.utils.getTimer;
    // @see http://projecteuler.net/index.php?section=problems&id=62
    public class Euler62 extends Sprite {
        private var _tf : TextField;
  
        public function Euler62() {
            _tf = new TextField();
            _tf.width = 465;
            _tf.height = 465;
            addChild(_tf);
            
            var s : int = getTimer();
            tr(solve());
            var g : int = getTimer();
            tr((g - s) + " ms");
        }

        private function solve() : Number
        {
        		var map : Object = {};
        		var count : Object = {};
        		for(var i : uint = 0;i < 100000;i++){
        			var c : Number = i * i * i;
        			var ca : Array = c.toString().split('');
        			ca.sort(Array.NUMERIC);
        			var cas : String = ca.toString();
        			if(map[cas]){
        				count[cas]++;
        				if(count[cas] == 5){
        					return map[cas];
        				}
        			}else{
        				map[cas] = c;
        				count[cas] = 1;
        			}
        		}
        		return 0;
        }

        private function tr(...o : Array) : void
        {
            _tf.appendText(o + "\n");
            _tf.scrollV = _tf.maxScrollV;
        }
    }
}