========================================================
program main
implicit double precision(a-h,o-z)
dimension iprime(200),ip1(30),ip2(30)
open(1,file="result.txt")
c-----judge the prime numbers smaller than 200---
ino=1
iprime(ino)=2
do ijudge=3,200
imark=0
do itmp=2,ijudge-1
if(mod(ijudge,itmp).eq.0)then
imark=1
exit
end if
end do
if(imark.eq.0)then
ino=ino+1
iprime(ino)=ijudge
end if
end do
c----- express the numbers between 100 and 200 by the prime numbers---
do ix=100,200,2
isolution=0
do in1=1,ino
itp1=iprime(in1)
if(itp1.gt.100) exit
itp2=ix-itp1
c check that whether ip2 is a prime number
do in2=1,ino
if(itp2.eq.iprime(in2))then
isolution=isolution+1
ip1(isolution)=itp1
ip2(isolution)=itp2
exit
end if
end do
end do
if(isolution.ne.0)then
write(*,*)ix," has ",isolution," solutions:"
write(1,*)ix," has ",isolution," solutions:"
do iz=1,isolution
write(*,*)" ",ix,"=",ip1(iz),"+",ip2(iz)
write(1,*)" ",ix,"=",ip1(iz),"+",ip2(iz)
end do
else
write(*,*)ix,": No solution."
write(1,*)ix,": No solution."
end if
end do
end program main
=============================================
第二個問題的代碼:
program main
implicit double precision(a-h,o-z)
character*1 num(4)
character*4 res
num(1)="1"
num(2)="2"
num(3)="3"
num(4)="4"
ino=0
do i1=1,4
do i2=1,4
do i3=1,4
do i4=1,4
ino=ino+1
res=num(i1)//num(i2)//num(i3)//num(i4)
write(*,*)res
end do
end do
end do
end do
write(*,*)"The number of the results is:",ino
end
======================================================