2021-01-01から1年間の記事一覧

bellman ford 法(10進basic)

DIM dist(7), node$(7),path$(7) MAT READ node$ DATA A,B,C,D,E,F,G MAT path$=node$(1)&NUL$ DIM c(7,7) MAT c=1000*CON LET inf=1000 LET dist(1)=0 LET dist(2)=inf LET dist(3)=inf LET dist(4)=inf LET dist(5)=inf LET dist(6)=inf LET dist(7)=inf L…

ライツアウト

10進basicを使っています DIM a(9,9) DIM b(9,9) DIM c(9) DIM d(9) MAT a=ZER LET a(1,1)=1 LET a(1,2)=1 LET a(1,4)=1 LET a(2,1)=1 LET a(2,2)=1 LET a(2,3)=1 LET a(2,5)=1 LET a(3,2)=1 LET a(3,3)=1 LET a(3,6)=1 LET a(4,1)=1 LET a(4,4)=1 LET a(4,5…

ガウス ジョルダン法(連立方程式)(十進basic)

INPUT m INPUT n DIM a(m,n) PRINT m×n;"個";"の数字を入力してください。" FOR x=1 TO m FOR y=1 TO n INPUT w LET a(x,y)=w NEXT Y NEXT X REM データー例 m=3 n=4 w=2,3,1,4,4,1,-3,-2,-1,2,2,2 解 x=2 y=-1 z=3 DIM d(m) REM---------------------------…

奇数次の魔方陣

REM 十進basicを使っています。オプションメニューから文法--microsoft BASIC互換を選んで実行してください。 REM !印以下は注釈文です。実行には影響を与えません。 REM アルゴリズムはサイモン-ド-ラ-ルベールの斜進法を使っています。斜進法についてはイ…

10進数と16進数の対応表(10進basic)

LET i=1 DO WHILE i<=1000 LET y=i LET ff$="" FOR x=1 TO 100 LET z=y/16 LET w=INT(z) LET r=MOD(y,16) ! PRINT "r="; r LET r$=STR$(r) IF r=10 THEN LET r$="a" else IF r=11 THEN LET r$="b" ELSE IF r=12 THEN LET r$="c" ELSE IF r=13 THEN LET r$="d…

ズッカーマン数(十進basic)

十進basicを使っています。 ズッカーマン数をもとめています。 オプションタブより microsoft 互換モードで実行 LET s=1 FOR a=1 TO 1000000 LET aa$=STR$(a) LET b=LEN(aa$) LET product=1 FOR r=1 TO b LET product=product*VAL(mid$(aa$,r,1)) NEXT R WHE…

地図の塗分け

A,B,C,D,Eの5つのエリアよりなる地図 REM 上の地図で隣り合う部分が異なる色になるように6色で塗り分ける方法の数。十進BASICSI使用。 FOR a=1 TO 6 FOR b=1 TO 6 FOR c=1 TO 6 FOR d=1 TO 6 FOR e=1 TO 6 IF a<>b AND a<>c AND b<>c AND b<>d AND b<>e AND…

ライツアウトを解く

10進basicを使っています DIM a(9,9)DIM b(9,9)DIM c(9)DIM d(9) MAT a=ZERLET a(1,1)=1LET a(1,2)=1LET a(1,4)=1LET a(2,1)=1LET a(2,2)=1LET a(2,3)=1LET a(2,5)=1LET a(3,2)=1LET a(3,3)=1LET a(3,6)=1LET a(4,1)=1LET a(4,4)=1LET a(4,5)=1LET a(4,7)=1L…

奇数次の魔方陣を10進BASICで作る

https://www.mirai-kougaku.jp/laboratory/pages/161118.php REM 十進basicを使っています。オプションメニューから文法--microsoft BASIC互換を選んで実行してください。REM !印以下は注釈文です。実行には影響を与えません。REM アルゴリズムはサイモン-ド…

10進basicで分割数を求める

mathematician.blog.jp行列式で分割数を求めています詳しくは上のサイトから INPUT nDIM a(200,200)MAT a=ZERDIM d(n,n) FOR i=1 TO n FOR j=1 TO n FOR k=1 TO 30 IF i=j THEN LET a(i,j)=1 IF j=i+1 THEN LET a(i,j)=-1 IF i=j+(k*(3*k-1)/2-1) THEN LET a…

オリジナル ディオファントス方程式の解法

不定方程式 a^3+b^5=c^7を解いてください。解答*は乗算,^はべき乗を表します。 まずa=p^5, b=p^3, c=2*p^2 とおきます。するとa^3+b^5=p^15+p^15=(2^7)*(p^14)=c^7となります。まとめるとp^14*(p+p-2^7)=0となります。よって2*p=2^7 ゆえにp=2^6となります。…

エラトステネスの篩

DIM a(1000)FOR b=2 TO 1000 LET a(b)=bNEXT BREM------------------------------------FOR i=2 TO 1000 FOR j=2 TO 1000 IF i<>a(j) AND MOD(a(j),i)=0 THEN LET a(j)=0 NEXT JNEXT IREM ------------------------------LET t=1FOR k=2 TO 1000 IF a(k)<>0 …

銅バッハ数(copperbach number)

10 REM 銅バッハ数とはちょうど2通りの異なる方法で2つの素数の和として表わされる整数です。例えば14=7+7=11+3であるから14は銅バッハ数です。20 REM 銅バッハ数はOEISによると全部で9個のようです。30 REM !の記号以下は注釈化です。40 REM 10行目から170…

キュバン素数

number-pedia.com キュバン素数を求めるプログラム。十進BASIC使用。最初の1000個を求めています。 LET s=0LET t=0FOR a=1 TO 10000 LET b=3*a^2+3*a+1 FOR c=2 TO INT(SQR(b)) IF MOD(b,c)=0 THEN EXIT FOR IF MOD(b,c)<>0 THEN LET s=s+1 NEXT C IF s=INT(…

エジプト式分数

REM 有理数モードで実行 REM エジプト式分数を求めるプログラムです。十進BASIC使用。INPUT n,mLET b=n/m LET t=0DIM a(200)FOR i=2 TO 100000 LET c=b-1/i IF c<=0 THEN GOTO 300 LET t=t+1 LET a(t)=1/i IF numer(c)=1 THEN LET t=t+1 IF numer(c)=1 THEN …

ズッカーマン数

ja.wikipedia.org 十進basicを使っています ズッカーマン数をもとめています。 オプションタブより microsoft 互換モードで実行 LET s=1FOR a=1 TO 1000000 LET aa$=STR$(a) LET b=LEN(aa$) LET product=1 FOR r=1 TO b LET product=product*VAL(mid$(aa$,r,…