エラトステネスのふるい
ナビゲーションに移動
検索に移動
エラトステネスのふるい
VC++.NET |
using namespace System; static void screenNumber(array<bool>^ args) { args[0] = true; args[1] = true; for (int i=2; i < args->Length; i++) { for (int j=2; j < args->Length; j++) { int num = i * j; if (num >= args->Length) { break; } args[num] = true; } } } static void print(array<bool>^ ary) { int itemCnt = 0; for (int i=0; i < ary->Length; i++) { if (!ary[i]) { Console::Write("{0,6:d} {1}", i, ((++itemCnt % 6 == 0)?"\n":"")); } } } int main(array<System::String ^> ^args) { int size = 0l; array<bool>^ ary = nullptr; try { size = Int32::Parse(args[0]); ary = gcnew array<bool>(size); } catch (Exception^ e) { Console::WriteLine("引数が不正です\n{0}", e); return -1; } screenNumber(ary); print(ary); return 0; }
© 2006 矢木浩人