用FORTRAN语言编译两个子函数,关于任意一个自然数的位数..
实在无头绪,刚学习这门语言,跪求各位大神帮忙。给一个任意的自然数 n,n = c ...c c k 1 0
定义以下两个函数
fp(n) = n - SUM (p(j)**j, j=0..k), 其中 p(j) = cj
fq(n) = n - SUM (q(j)**j, j=0..k), 其中 q(j)为在数字集合{c ...c c }中位数为偶数的数量
按照惯例,我们把0**0=1
例如 n = 1234567890
fp(n) = 1234567890 - (0**0 + 9**1 + 8**2 + 7**3 + 6**4 + 5**5 + 4**6 + 3**7 +2**8 + 1**9) = 1234567890 - 11378 = 1234556512
fq(n) = 1234567890 - (1**0 + 1**1 + 2**2 + 2**3 + 3**4 + 3**5 + 4**6 + 4**7 +5*8 + 5**9) = 1234567890 - 2364568 = 1232203322
txt数据为
| 1| 49160 | | | |--------------------------------|------------| | 2| 785778 | | | |--------------------------------|------------| | 3| 682474 | | | |--------------------------------|------------| | 4| 8435751 | | | |--------------------------------|------------| | 5| 6805525 | | | |--------------------------------|------------| | 6| 71706204 | | | |--------------------------------|------------| | 7| 54957028 | | | |--------------------------------|------------| | 8|126234547 | | | |--------------------------------|------------| | 9|124038715 | | |
表示看不懂。如果文字表述有困难,可以写在 word 里,截图也好,上传doc文件也好。 排了排版,差不多了解了。除了那个 txt 文件之外。
这可能是你想要的代码
Program www_fcode_cn
Implicit None
Integer , parameter :: KI = SELECTED_INT_KIND(10)
write(*,*) fp( 1234567890_ki ) , fq( 1234567890_ki )
contains
Integer(Kind=KI) Function fp( n )
Integer(Kind=KI) :: n
integer(Kind=KI) :: t
integer :: k , i
integer , allocatable :: c(:)
t = n
k = 1
do
if ( t < 10 ) exit
t = t/10
k = k + 1
end do
allocate( c(k) )
t = n
do i = 1 , k
c(i) = mod( t , 10 )
t = t/10
end do
t = 0
do i = 1 , k
t = t + c(i)**(i-1)
end do
fp = n - t
End Function fp
Integer(Kind=KI) Function fq( n )
Integer(Kind=KI) :: n
integer(Kind=KI) :: t
integer :: k , i , tq
integer , allocatable :: c(:) , q(:)
t = n
k = 1
do
if ( t < 10 ) exit
t = t/10
k = k + 1
end do
allocate( c(k) , q(k) )
t = n
tq = 0
do i = 1 , k
c(i) = mod( t , 10 )
t = t/10
if ( mod(c(i),2)== 0 ) tq = tq + 1
q(i) = tq
end do
t = 0
do i = 1 , k
t = t + q(i)**(i-1)
end do
fq = n - t
End Function fq
End Program www_fcode_cn fcode 发表于 2014-11-4 11:15
排了排版,差不多了解了。除了那个 txt 文件之外。
这可能是你想要的代码
谢谢大神帮忙,不过我已经做出来了。可能我翻译的不太好,TXT那个就是给的数据,然后加个文件读取,语言组织有些凌乱。{:3_55:}跪谢大神帮忙。
页:
[1]