小町算のプログラムについて
100 DIM s(9)
110 FOR i=1 TO 9
120 LET s(i)=-1
130 NEXT i
140 DO
150 LET sum=0
160 LET num=0
170 LET sign=1
180 FOR i=1 TO 9
190 IF s(i)<>0 THEN
200 LET sum=sum+sign*num
210 LET sign=s(i)
220 LET num=i
230 ELSE
240 LET num=10*num+i
250 END IF
260 NEXT i
270 LET sum=sum+sign*num
280 IF sum=100 THEN
290 FOR i=1 TO 9
300 IF s(i)= +1 THEN PRINT " + ";
310 IF s(i)= -1 THEN PRINT " - ";
320 PRINT i;
330 NEXT i
340 PRINT " = 100"
350 END IF
360 LET i=9
370 LET sign=s(i)+1
380 DO WHILE ( sign > 1 )
390 LET s(i)=-1
400 LET i=i-1
410 LET sign=s(i)+1
420 LOOP
430 LET s(i)=sign
440 LOOP WHILE ( s(1) < 1)
450 END
というものですが、このプログラム中にあるsum、num、signとはどういう意味があるのでしょうか?
No.1ベストアンサー
- 回答日時:
カテゴリ違いだと思われます。
* 教えて!goo >
* [技術者向] コンピューター >
* プログラミング >
* その他(プログラミング)
でお尋ねになったほうがよろしいかと。
No.3
- 回答日時:
小町算とは
1+2+34-5+67-8+9=100
のように1から9を順序は変えずに適宜並べてその計算結果が100になるように
するもので和算の遊びみたいなものでしょう。
+、-だけでなくて×、÷を混ぜてもよいなどのバリエーションがあります。
sum=sum+sign*num
という式が多く用いられていますが、numという正の整数を変化させて正負をsignで選択し
これをsumに足しこんでsumが100になったらprint outするというプログラムになっています。
450 end
の前にstopを入れないと結果が見れませんので、念のため。
No.2
- 回答日時:
私には「小町算」がどういうものかがわかりません。
したがってプログラムの意味も分かりません。
sum、num、signはこのプログラムを作った人が変数名として使っているものです。
関数名ではありません。変数名をどういう文字で表すかは作った人の好みです。
sum は和、num は数 の意味でしょう。
私は単にS,Nで表します。
signは符号の意味だろうと思いますが sign>1 というような式が出てきていることで言うと符号ではないような気もします。
SGNという符号関数もありますから混乱しそうですね。
LETが多くて見にくいですね。
BASICのプログラムではLETはふつう省略できると思います。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- UNIX・Linux 次の要件を満たすにはどのように修正したらよろしいでしょうか 1 2022/11/24 20:57
- Visual Basic(VBA) ファイル全てを .xlsm に変更したところ、プログラムが途中で落ちてしまっています 17 2022/12/07 12:03
- Visual Basic(VBA) エクセル マクロ(A1:A10)までの中で一番多く出た数字をB10に表示 6 2023/04/25 17:01
- Visual Basic(VBA) 順列をランダムに発生するプログラム 1 2022/11/16 12:16
- Visual Basic(VBA) Excelで下記のようにマクロを作ったところ、一回目は実行できたのですが、二回目以降「実行時エラー1 1 2022/03/25 08:08
- Excel(エクセル) vba 「Nextに対するForが見当たりません」のエラーが発生する原因 1 2022/10/21 15:46
- Visual Basic(VBA) 数字が「0」の列を削除するため、下記のコードを実行しましたが、コンパイルエラーSubまたはFunct 3 2022/12/04 00:00
- Visual Basic(VBA) VBAの繰り返し処理について教えてください。 3 2022/08/02 13:21
- Visual Basic(VBA) ExcelVBAに関する質問 3 2023/02/17 10:47
- Visual Basic(VBA) 実行時エラー´5854´ 文字列型パラメーターが長すぎます。 3 2023/06/08 21:17
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
関数電卓購入検討(大学の工学部)
-
VBA "Const"は何の略ですか?
-
理系学生は皆プログラミングで...
-
パソコンの知識を付けたい
-
あるプログラムのコマンドライ...
-
C言語の課題で、1年の秒数を計...
-
Excelで4096点以上のFFTの方法
-
0除算して、落ちるプログラムと...
-
「Outlookが他のプログラムによ...
-
C++ で、「)」が必要 というエ...
-
バッチファイルでUSB挿入時に実行
-
graph.hがincludeできない
-
正しい五十音順について
-
読み込み中にアクセス違反が発...
-
アプリのプログラムを見るには...
-
このプログラミング誰か教えて...
-
65536は2の何乗なのでしょうか?
-
フローチャートで 変数に代入す...
-
XnViewにwebpを「いつも開く」...
-
JCLの基本について教えてください
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
関数電卓購入検討(大学の工学部)
-
プログラムを組むことが嫌にな...
-
VBA "Const"は何の略ですか?
-
パソコンの授業で課題が出まし...
-
理系学生は皆プログラミングで...
-
パソコンのプログラムについて...
-
ウイルス作成【作り方を聞いて...
-
正しい五十音順について
-
Excelに埋め込んだVBAのプログ...
-
Notepad++の関数リスト表示でC...
-
あるプログラムのコマンドライ...
-
65536は2の何乗なのでしょうか?
-
0除算して、落ちるプログラムと...
-
これってほんとにみますか?
-
Stuck
-
Excelで4096点以上のFFTの方法
-
VBAで仕様書は書きますか?
-
VBAの再計算が反映されない件に...
-
「Outlookが他のプログラムによ...
-
自動クエリとはどういうもので...
おすすめ情報