結果が表示されません。間違い箇所を教えてください
使用コマンドはbwbasicです
100 PRINT "N? (N>2)"
101 waru=2
102 kazuhantei=0
103 pastwaru=0
104 kaisu=1
105 hatsu=1
110 INPUT object
120 DO
130 IF object<2 THEN
140 PRINT "N? (N>2)"
150 INPUT object
160 ELSE
170 kazuhantei=1
180 END IF
190 IF kazuhantei<>0 THEN
200 GO TO 250
210 ELSE
220 GO TO 130
230 END IF
240 LOOP
250 PRINT "soinsubunkai suruto"
260 object=0
270 DO WHILE object<>1
280 IF object MOD waru=0 THEN
290 IF pastwaru=waru THEN
300 kaisu=kaisu+1
310 END IF
320 IF kaisu>1 THEN
330 PRINT "^";kaisu
335 END IF
340 kaisu=1
350 IF hatsu=0 THEN
360 PRINT "*";waru
370 pastwaru=waru
380 END IF
390 hatsu=0
400 object=object/waru
410 END IF
420 ELSE
430 waru=waru+1
440 object=object+1
445 LOOP
450 IF kaisu>1 THEN
460 PRINT "^";kaisu
465 END IF
470 END
No.1ベストアンサー
- 回答日時:
★アドバイス
・『bwbasic』ってフリーソフトですか?
昔の N88-BASIC を思い出しますね。特に行番号があるので。
>結果が表示されません。間違い箇所を教えてください
↑これって全く表示されないのか?もしそうなら無限ループしていないか。
・もう一度、素因数分解のアルゴリズムを紙にでも書いて整理すべきです。
私ならば次のようにプログラミングします。
(1)object に数を入力する。
(2)sosu という名前の素数を用意して 2 から順番にステップアップします。→DO WHILE などを使う。
(3)sosu で割ったあまりが、0 以外なら sosu カウンタを +1 にします。
このときに、PRINT sosu;"^";kazu を表示します。
(4)object の数を sosu で割って 1 になったら処理を終了します。→ここを間違うと無限ループするよ。
(5)(1)へ戻る。
↑この方法をプログラミングすればよいのです。
・間違いの箇所を探るよりも、もう一度プログラミングしなおした方が早い気がします。
下にサンプルを載せます。
サンプル:
100 '2 以上を入力
110 DO WHILE object <= 2
120 PRINT "N? (N>2)"
130 INPUT object
140 LOOP
150 '素因数分解を開始
160 sosu = 2
170 PRINT "soinsubunkai suruto"
180 DO WHILE object <> 1
190 kazu = 0
200 WHILE (object MOD sosu)=0
210 object = object / sosu
220 kazu = kazu + 1
230 WEND
240 IF kazu>0 THEN
250 PRINT sosu;"^";kazu
260 IF object>1 THEN
270 PRINT "*"
280 END IF
290 END IF
300 sosu = sosu + 1
310 LOOP
間違い箇所:
>260 object=0
↑object って素因数分解する『数』ですよね。0 を代入していいの?入力した意味ないよ。
>420 ELSE
↑無駄な ELSE が存在する。削除すべきだ。
・サンプルを試して見て下さい。→私は試す環境を持っていないので確認して下さい。
・以上。参考に!
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) VBAの繰り返し処理について教えてください。 3 2022/08/02 13:21
- Visual Basic(VBA) InputBoxでキャンセルボタンを押したらファイル自体を閉じたい 3 2022/07/23 17:52
- Visual Basic(VBA) 【追加】ファイルを閉じてダイアログで保存した時だけ処理の実行をする 3 2022/03/23 15:43
- Visual Basic(VBA) このVBAでExcelアプリケーションを作成は必要ですか? 3 2023/07/19 21:13
- Visual Basic(VBA) Visual Basic : ImageListの画像がそろったときにメッセージを表示 1 2023/07/20 13:53
- Visual Basic(VBA) batからexeを実行し戻り値を受け取る バッチからEXEの結果を受け取りたいのですが、 下記のバッ 1 2023/07/04 15:13
- Visual Basic(VBA) vba GetAsyncKeyState関数について 1 2023/08/24 12:08
- Visual Basic(VBA) ファイル全てを .xlsm に変更したところ、プログラムが途中で落ちてしまっています 17 2022/12/07 12:03
- Visual Basic(VBA) EXCEL VBAにて動的にCheckBOXを複数作成し、同BOXにイベントを追加したい 1 2023/03/16 07:05
- Visual Basic(VBA) 【Excel VBA】自動メール送信の機能追加 5 2022/09/29 12:53
関連するカテゴリからQ&Aを探す
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
CIntと Integer.Parseの違い
-
ローマ字→カタカナへ変換(エク...
-
エクセルVBAでセルに入力したパ...
-
スクロールしてもボタンを常に...
-
マクロ 実行ボタンを押さずに...
-
押したボタンの位置取得(共通の...
-
コマンドボタンを押すたびに大...
-
Excel:コマンドボタンの移動
-
EXCELのセルへ、デジタル時計を...
-
Excelのワークシート上に検索窓...
-
Excelを開いた時に表示さ...
-
excelに貼り付けた数値が勝手に...
-
複数ファイルにある特定のシー...
-
AccessのテーブルデータをExcel...
-
Excel VBA --- コマンドボタ...
-
ShowAllDataのエラーを回避したい
-
エクセルVBA シート上にあるコ...
-
PPTのコマンドボタンがクリック...
-
ワードにタイマーを設定したい
-
Teraマクロで日付ディレクトリ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
CIntと Integer.Parseの違い
-
list の空は [] ってあわらすのに
-
生命情報工学 二分探索木 Inser...
-
ActiveXをHTMLから呼び出す際
-
BASIC言語で整数を素因数分解す...
-
ローマ字→カタカナへ変換(エク...
-
エクセルVBAでセルに入力したパ...
-
Excel:コマンドボタンの移動
-
マクロ 実行ボタンを押さずに...
-
コマンドボタンを押すたびに大...
-
複数ファイルにある特定のシー...
-
Excel VBA のdebug(F8キー) が...
-
EXCELのセルへ、デジタル時計を...
-
スクロールしてもボタンを常に...
-
押したボタンの位置取得(共通の...
-
excelに貼り付けた数値が勝手に...
-
エラーになってないのにVBA...
-
【マクロ】シート名を取得する...
-
Excelを開いた時に表示さ...
-
コマンドボタンがあるかどうか...
おすすめ情報