整数の因数の計算

HOME > Programing > Pascal > 整数の因数の計算

注意

  • このサイトの利用によって生じた損害については当方では責任を負いかねますのでご了承ください。

コード

                    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