回 帖 发 新 帖 刷新版面

主题:[求助]大哥哥大姐姐们,帮我解答两道题啊!急啊,谢谢拉!

大哥哥大姐姐们,帮我解答两道题啊!急啊,谢谢拉!

1.求Fibonacci前20项的和。

2.求100~600范围内的素数,并要求使用函数调用的方式。

老师留的考试作业,小弟还没学好,那位前辈帮着解答下啊,谢谢拉!!

回复列表 (共4个回复)

沙发

program Fibonacci
implicit none
integer  :: n, sum
integer  :: Fibonacci_sum
write(*,*) 'Please input an integer:'
read *, n

sum = Fibonacci_sum(n)
write(*,*) 'The sum of the first',n,'terms of Fibonacci is', sum
end

integer function Fibonacci_sum(n)
implicit none
integer,intent(in) :: n
integer :: i
integer :: Fibonacci(n)
Fibonacci(1) = 1
Fibonacci_sum = 0
Do i=1, n
  if(i==1) then
      Fibonacci_sum = 1
      if(n==1) exit
  else if(i==2) then
      Fibonacci(i) = Fibonacci(1)
      Fibonacci_sum = Fibonacci_sum + Fibonacci(i)
  else
      Fibonacci(i) = Fibonacci(i-1)+Fibonacci(i-2)
      Fibonacci_sum = Fibonacci_sum + Fibonacci(i)
  endif
Enddo
return
end function

板凳

看成fortran板块的了。不好意思

3 楼

%回车.输入 20

>> n=input('please input n='); %输入前n项的n值.. 
for i=1:(n-2) 
a(1)=1;a(2)=1; 
a(i+2)=a(i+1)+a(i); 
end 
a'
disp(['和为:' num2str(sum(a))])

4 楼

%% isprime(n);
%如果n是素数,返回1
%如果n是合数,返回0。
function b=prime(n)
a=ceil(sqrt(n));
b=1;
for i=2:a
    if mod(n,i)==0
        b=0;
        break;
    end
end


我来回复

您尚未登录,请登录后再回复。点此登录或注册