素数 色をつけてみる

by 178ep3 forked from 素数で何か (diff: 7)
色をつけてみる
♥0 | Line 59 | Modified 2009-12-05 16:50:18 | MIT License
play

ActionScript3 source code

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

// forked from 178ep3's 素数で何か
//色をつけてみる
package
{
	import flash.display.Bitmap;
	import flash.display.BitmapData;
	import flash.display.Sprite;
	import flash.display.StageAlign;
	import flash.display.StageScaleMode;
	import flash.events.Event;

	public class Test extends Sprite
	{
		private var i:uint = 3;
		private var _list:Array = [2];
		private var _bmp:Bitmap;
		
		public function Test()
		{
			_bmp = addChild(new Bitmap(new BitmapData(15,930,false,0xffffff)))as Bitmap;
			_bmp.x = 15;
			_bmp.scaleX=30;
			_bmp.scaleY=0.5;
			
			addEventListener(Event.ENTER_FRAME,loop);
		}
		
		private function loop(e:Event):void
		{
			var flg:Boolean = true;
			var q:uint;
			var len:uint;
			
			for(var w:uint=0; w<2; w++)
			{	
				flg = true;
				len = _list.length;
				for(q=0; q<len; q++)
				{
					if(i%_list[q]==0)
					{
						flg=false;
						break;
					}
				}
				if(flg)
				{
					_list.push(i);
					var number:String = String(i.toString(4));
					var x:uint=0;
					var y:uint = len++;
					len = number.length;
					
					for(q=0; q<len; q++)
					{
						x = 15-len + q;
						if(number.charAt(q)=="1")_bmp.bitmapData.setPixel(x,y,0xff);
						else if(number.charAt(q)=="2")_bmp.bitmapData.setPixel(x,y,0xff00);
						else if(number.charAt(q)=="3")_bmp.bitmapData.setPixel(x,y,0xff0000);
					}
					if(y==930)removeEventListener(Event.ENTER_FRAME,loop);
				}
				i+=2;
			}
		}
	}
}