Fortran计算九宫格运算等于4(do循环format换行)

Fortran计算九宫格运算等于4(do循环format换行)

Fortran即Formula Translation(公式翻译)的缩写,是世界上出现最早的高级程序设计语言。用Fortran语言计算数学问题非常简单高效,下面介绍Fortran语言解决“九宫格行、列加减乘除四则运算均等于4问题”的经验。

首先介回顾这个“九宫格行、列加减乘除四则运算均等于4的问题”。如下图,在九个方格内填入1-9的数字,使每行、每列的加减乘除四则运算都等于4。

下面启动Fortran编译器,通过File-->New-->Project Workspace,建立一个工程,工程Name不妨命名为calculation,工程Location自行设置。

然后,通过File-->New-->Text File在该工程下建立一个空白的Fortran语言编辑脚本(文件),并通过File-->Save保存该脚本,并将脚本File Name不妨命名为ninepatch.f(建议以.f结尾,暂不使用.f90结尾,即删除.f90中的90),然后点击OK,此时Fortran编辑脚本中出现绿色竖线。下面开始写代码。

输入以下代码(如下图):

program main

integer i11,i12,i13

integer i21,i22,i23

integer i31,i32,i33

open(10,file='results.txt',status='unknown',form='formatted')

do ia=1,9

i11=ia

do ib=1,9

i12=ib

do ic=1,9

i13=ic

do id=1,9

i21=id

do ie=1,9

i22=ie

do ig=1,9

i23=ig

do ih=1,9

i31=ih

do ii=1,9

i32=ii

do ij=1,9

i33=ij

if(i11+i12-i13.eq.4 .and.

& i21-i22*i23.eq.4 .and.

& i31+i32-i33.eq.4 .and.

& i11+i21/i31.eq.4 .and.

& i12-i22*i32.eq.4 .and.

& i13-i23-i33.eq.4 )then

print *,'results='

print *,i11,i12,i13

print *,i21,i22,i23

print *,i31,i32,i33

write(10,*) 'results='

write(10,100)i11,i12,i13,

& i21,i22,i23,

& i31,i32,i33

endif

enddo

enddo

enddo

enddo

enddo

enddo

enddo

enddo

enddo

100 format(3(1x,3i2/))

end

其中integer定义了i11-i33九个变量,open(10,***)建立results.txt文档用于写入结果,print *直接显示在屏幕上,write(10,100)将结果写入设备号为10也就是写入results.txt文档中,其格式按照100 format(3(1x,3i2/))的格式要求,斜线/起到换行的作用。

然后点击编译(Compile/Ctrl+F8)、建立(Build/Shift+F8)(如下图)。如果编译没错误,就通过导航栏Build-->Execute calculation.exe执行该程序,或直接Ctrl+F5执行该程序。

执行该程序后,显示六组结果,如下图。

此时该工程所在目录下,也会存在results.txt的文档,打开该文档查看结算。发现这六组结果都能满足“九宫格行、列加减乘除四则运算均等于4”的要求。

这道简单的数学题目就解决了。If you are interesting in these, please give some comments. My Baidu Jingyan name is jin_defence,please fellow me.