Project Euler #001

by hycro
♥0 | Line 35 | Modified 2010-02-24 20:52:57 | MIT License
play

ActionScript3 source code

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

package {
    import flash.display.Sprite;
    import flash.text.TextField;
    
    public class ProjectEuler extends Sprite {
    		private var _textField:TextField;
       
        public function ProjectEuler() {
        		initialize();
        		writeAnswer(new Problem001);
        }
        
        private function writeAnswer(problem:IProblem):void {
            var answer:Number = problem.solve();
            _textField.appendText(answer.toString());
        }
        
        private function initialize():void {
        	    _textField = new TextField();
            _textField.width = stage.stageWidth;
            _textField.height = stage.stageHeight;
            addChild(_textField);
        }
    }
}

interface IProblem {
	function solve():Number;
}

class Problem001 implements IProblem {
	public function solve():Number {
		var answer:Number = 0;
		for (var n:uint=0; n<1000; n++) {
			if (n % 3 == 0 || n % 5 == 0) {
				answer += n;
			}
		}
		return answer;
	}
}

Forked