トップページに戻る
次のProblemへ
前のProblemへ
Problem3 600851475143の最大の素因数
13195の素因数は5、7、13、29である。
600851475143の素因数のうち最大のものを求めよ。
SQL
declare
--TargetVal pls_Integer := 13195;
TargetVal number(12) := 600851475143;
Warukazu pls_Integer := 2;
MaxSoinsuu pls_Integer := 1;
begin
While (Warukazu <= TargetVal) Loop
if mod(TargetVal,Warukazu) = 0 then
TargetVal := TargetVal / Warukazu;
MaxSoinsuu := Warukazu;
else
Warukazu := Warukazu + 1;
end if;
end Loop;
DBMS_Output.Put_Line('最大の素因数=' || to_char(MaxSoinsuu));
end;
/
実行結果
最大の素因数=6857
解説
pls_Integer型の最大値は、21億のため、
600851475143は、number(12)型で定義する必要があります。
C#での解