トップページに戻る
次のProblemへ
前のProblemへ
Problem7 10001番目の素数
素数を小さい方から6つ並べると2,3,5,7,11,13であり、6番目の素数は13である。
10001番目の素数を求めよ。
SQL
declare
SosuuCnt pls_Integer :=0;
TargetVal pls_Integer :=2;
IsSosuu boolean;
begin
Loop
IsSosuu := true;
for I in 2..TargetVal-1 Loop
if mod(TargetVal,I)=0 then
IsSosuu := false; exit;
end if;
end Loop;
if IsSosuu then
SosuuCnt := SosuuCnt+1;
exit when SosuuCnt = 10001;
end if;
TargetVal := TargetVal+1;
end Loop;
DBMS_Output.Put_Line('Answer=' || to_char(TargetVal));
end;
/
実行結果
Answer=104743
解説
力まかせで順にチェックしてます。
C#での解