前提・実現したいこと
fortranで与えられ得た数を素因数分解するプログラムを作りたいです。
例えば、
54という数が与えられた時、素因数である3,3,3と2を表示したいのですが、2と3しか表示されません。
次のプログラムのどこが間違っていますでしょうか?
教えていただきたいです。
発生している問題・エラーメッセージ
Input positive integer
54
2
3
エラーメッセージ
### 該当のソースコード ```ここに言語名を入力 ソースコード
program factorize
implicit none
integer :: n, i
write (,) 'Input positive integer'
read (,) n
if (n < 1) then
write (,) 'Please inout positive integer'
else if (n == 1) then
write (,) n
else
do i = 2, int(sqrt(dble(n)))
if (mod(n,i) == 0) then
n = n / i
write (,) i
if (n == 1) then
exit
else
cycle
end if
end if
end do
end if
end program factorize
試したこと
ここに問題に対して試したことを記載してください。
補足情報(FW/ツールのバージョンなど)
ここにより詳細な情報を記載してください。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2021/06/01 06:52
2021/06/01 07:39 編集