C#|素数を数え上げる

using System;
using System.Collections.Generic;

/// <summary>
/// 素数に関するクラス
/// </summary>
public class Prime {
	///<summary>素数を列挙します</summary>
	static public IEnumerable<int> GetPrimes() {
		yield return 2;
		for(int i = 3; i <= int.MaxValue; i += 2) {
			if(IsPrime(i)) yield return i;
		}
	}

	///<summary>valueが素数ならTrue、素数でないならFalseが返ります。</summary>
	static public bool IsPrime(int value) {
		for(int i = 2; i < value; i++) {
			if(value % i == 0) {
				return false;
			}
		}
		return true;
	}
}

 

HOME

コメントを残す

メールアドレスが公開されることはありません。

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください