用FORTRAN90编写一个判断素数的函数子程序,在主程序中输入2个整数M1和M2,并输出[M1,M2]上的全部素数

作者&投稿:代眨 (若有异议请与网页底部的电邮联系)
用FORTRAN编写一个判断输入的数字是否素数。在主程序中输入1个~

教你一个判断方法,假设你输入的是N,做一个循环i从2:[N/2],依次用N除以i取余,看余数是否为零,为零的不是素数。
integer N0
write(*,*)'input a number :'
read (*,*)N0
integer N=N0
do i=2,N/2
j=N%i
if (j=0) goto 15
enddo
goto 20
15 write(*,*)'not a sushu '
20 continue
这个跟学多久没关系吧,关键还是要算法,算法通了C语言也能写。

这图太小了(浪费了照片的空间)重拍一张,字拍得大一点哦。
最好是把文字复制后,粘贴进来,发上来。

IMPLICIT NONE
INTEGER::M1,M2,I,J
WRITE(*,*) '请输入两个整数'
READ(*,*) M1, M2
CALL PD()

CONTAINS
!---------
SUBROUTINE PD()
IC: DO I=M1,M2
DO J=2,INT(SQRT(1.0*I))
IF(MOD(I,J)==0) CYCLE IC
ENDDO
WRITE(*,*) I
ENDDO IC
END SUBROUTINE
END
! 程序已经调试通过,保证没有问题,请放心使用。


除去在Fortran 90的二维数组的重复元素问题,怎么解决
Fortran数组是列优先的。即先存储前面的维度。一个3*3二维数组,在内存中是:123456789Fortran访问时,给他们命名为a(1,1),a(2,1),a(3,1)a(1,2),a(2,2),a(3,2)a(1,3),a(2,3),a(3,3)因而,a(2,3)=8

fortran90里面==是什么意思?
一般用于if等判断语句中,相当与等于的意思,判断两个的关系,区别于赋值语句中的=

Fortran90中一个complex占几个字节?
一个complex就是2个real*4,而一个real*4是4个字节,所以一个complex是8个字节,当然你也可以设置双精度,那就是16个字节

Fortran90中,3E2是什么类型的常量?
这属于浮点数(real),这中表达方式是为了,当在fortran中设置超大或者极小的数值时具有较大的优势,比如10^8=1E8来表示。参考资料:fortran95程序设计p41

fortran 字符串太长 如何换行
在前面的绿竖杠中加$.这就代表换行了。例如:c='This a very very very very very very very very very very very & &very very very very very very very very very very very very very & &very long sentence.'前一行行尾和下一行行首加&,这是自由格式,文件后缀为*.f90。

fortran90中dim什么意思
dim一般指维数,有时也指行或列.比如REAL(KIND=8),DIMENSION(-2:2,-4:4,-3:3)::a 则UBOUND(a,DIM=2)的值是___这个题目中DIM=2就是表示第二维的上界,所以是4 再比如,INTEGER,DIMENSION(1:2,1:4)::A A=RESHAPE((\/1,3,5,7,9,2,4,6,8\/),(2,4)) [两行四列]则数组求...

linux下fortran90编程,module与主程序不在同一个文件,use调用时找不到...
module和主程序可以不在一个文件中,也可以不用在同一路径下.这时首先编译module: ifort -c mods.f90, 然后得到*.mod文件.将这些*.mod文件拷贝到主程序路径下, 接着编译主程序即可: ifort main.f90

fortran90编译时报错:END OF FILE ENCOUNTERED应该如何改正程序?求指 ...
意思就是,在读数时,遇到了文件的尾部。例如,程序读了 100 行,而文件只有 99 行。两个可能:1.文件太短,数据量不够。2.程序代码循环读取文件,没控制住。本来你想读 99 行,结果代码某些地方出了问题,读了超过99 行。

fortran90与fortran95的具体区别,用95学习90行不行,(我似乎没有下到90...
你这样的提法是严重不对的。这就好像:win7 用不了美式英语,只能用英式英语一样。概念就有问题!Fortran90 和 95 是两种语言的规范,他们是一种规定,一种语言。而不是软件。更不能被下载,被安装。就像,你不能下载和安装英式英语和美式英语一样。90和95他俩的区别很小,就像英式英语和美式英语...

fortran90应该使用哪种编辑器
你是问编辑器还是编译器?如是编辑器,可用编辑器很多,随便一个写字板就可以。推荐使用ultraedit,功能很强大,特别是竖排编辑的方式非常有用。它也可以进行语法高亮显示。如果你装了compaq visual fortran 或者visual studio,它们的编辑器也是比较好的,但是没有ultraedit的那种竖排编辑方式。在linux下就用...

新华区18737468158: 用FORTRAN90编写一个判断素数的函数子程序,在主程序中输入2个整数M1和M2,并输出[M1,M2]上的全部素数 -
仰毅辅舒: IMPLICIT NONE INTEGER::M1,M2,I,J WRITE(*,*) '请输入两个整数' READ(*,*) M1, M2 CALL PD()CONTAINS !--------- SUBROUTINE PD() IC: DO I=M1,M2DO J=2,INT(SQRT(1.0*I))IF(MOD(I,J)==0) CYCLE ICENDDOWRITE(*,*) IENDDO IC END SUBROUTINE END ! 程序已经调试通过,保证没有问题,请放心使用.

新华区18737468158: fortran 90 编写程序,找出1到N内的所有素数,有流程图更好 -
仰毅辅舒: !程序中判断i是不是素数 integer i,j,k,N logical ok write(*,*),'请输入N:' read*,N do i=1,N,2 !素数肯定是奇数 ok=.true. j=2 k=sqrt(real(i)) do while(j if(mod(i,j)==0)ok=.false. j=j+1 enddo if(ok)then print*,i,'是素数' else print*,i,'不是素数' endif enddo end 流程图就不用了吧 ,自己看着画吧

新华区18737468158: 求助!!!Fortran90程序设计~~ -
仰毅辅舒: 编写一个嵌套的if判断语句来控制就行了.if (条件1)then 求(f(x))**3的值 elseif(条件2) 求 f(x)=x**2+1的值 else 求 f(x)=x**2+2*x+2的值 endif

新华区18737468158: 编写一个判断该数是否为素数的方法,并在main方法中调用该方法 -
仰毅辅舒: #include#includeintIs_Prime(intn)//是否素数{inti,k;k=(int)sqrt((double)n);//提高效率for(i=2;i

新华区18737468158: 如何编写一个C语言程序判断一个数是否是素数? -
仰毅辅舒: 1. 思路1: 判断一个整数m是否是素数,只需把m被 2 ~ m-1 之间的每一个整数去除,如果都不能被整除,那么m就是一个素数.代码如下: #include <stdio.h> int main(){ int a=0; // 素数的个数 int num=0; // 输入的整数 printf("输入一个整数...

新华区18737468158: 编写一个判断某数是否为素数的应用程序.输入任意一个正整数,输出显示该数是否为素数. -
仰毅辅舒: #include"stdio.h"#include"math.h" main() { long n,i,j,m; printf("请输入一个整数2113:"); scanf("%ld",&n); if(n<0) printf("输入错误!5261"); else if(n%2==0) printf("%ld不是4102素1653数",n); else { j=sqrt(n); for(m=2;m<=j;m++) if(...

新华区18737468158: fortran90编程中判断一个正整数是否为完数的程序,若是输出yes,否则输出no -
仰毅辅舒: 1234567891011121314 integera,i,k,sum read(*,*)a k=int(a/2+0.1) sum=0 do10i=1,k if(mod(a,i).eq.0) sum=sum+i10continue if(sum.eq.a) then write(*,*)'yes' else write(*,*)'no' endif pause end

新华区18737468158: fortran90输出100到500的个位数为1的素数 -
仰毅辅舒:[答案] do i=101,491,10 !个位数为1:101,111,121,... isprime=1 do j=2,floor(sqrt(i)) if (mod(i,j)==0) isprime=0 end do if (isprime==1) print*,i end do

新华区18737468158: 用Fortran 90程序设计判断回文数 -
仰毅辅舒: program main implicit none character(len=100)::chr integer(8)::N,k,i write(*,*)'请输入一个整数:';read(*,*)N if(IsPalindrome(N)) then write(*,*)N,"是回文数" else write(*,*)N,"不是回文数" endif write(*,*)'输出完成!' read(*,*) ...

新华区18737468158: fortran90从键盘输入整数,判断该数中是否包含数字9,若包含输出yes,否则输出no -
仰毅辅舒: PROGRAM FIND_M!计算一组数字里面有没有9 IMPLICIT NONE INTEGER(4)::I,J,K,n CHARACTER(30)::C WRITE(*,*)"请输入一个整数:" READ(*,*)K WRITE(C,*)K n=len(C) j=0 DO I=1,n IF(C(i:i)=="9")THEN j=j+1 ENDIF ENDDO IF(J>0)THEN WRITE(*,*)"Yes!" ELSE WRITE(*,*)"No!" ENDIF READ(*,*) END

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网