整数の因数の計算

注意事項

このサイト内で公開していることがらについて
使用や利用によるいかなる損失に対しても責任を負いませんのでご了承ください。
著作物に関する著作権について
原則としてすべて運営者(EponaLab)にあります。

ソースコード


program CalcFactor(input, output);

procedure main;
var x, i, tmp : integer;
begin
    writeln('数xの因数を列挙します。');

    write('x = ');
    readln(x);

    tmp := trunc(sqrt(x));
    write(x, ' の因数は、 ', 1, ', ', x);
    for i := 2 to tmp do
        if (x mod i) = 0 then
            if (x div tmp) = tmp then
                write(', ', tmp)
            else
                begin
                    write(', ', i);
                    write(', ', x div i)
                end
end;

begin
    main
end.
                

実行結果


$ ./CalcFactor
数xの因数を列挙します。
x = 24
24 の因数は、 1, 24, 2, 12, 3, 8, 4, 6