FOTRANR如何将十进制变成二进制
本帖最后由 xiaomelody 于 2015-1-21 18:57 编辑设置常量{U,V,A,B,C}离散函数f(x)的定义函数f(x(1),...,X(n))的 n个二进制变量设X= {X =(X(1)..×(N)),X(ⅰ)}的二进制。
对于x在X,为s= S(X)= SUM(X(1:n))的
如果 0 <= s <= u: f(x) = SUMA (x(i)*(2*SIN(i*PI/u))/(a+i)**2), i=1..n)
如果 u+1 <= s <= v: f(x) = SUMA (x(i)*(2*COS(i*PI/v))/(b+i)**2), i=1..n)
如果 v+1 <= s <= n: f(x) = SUMA (x(i)*(SIN(i*PI/n)+COS(i*PI/n))/(c+i)**2), i=1..n)
其中,IP是IP数 4*arctg(1)
Esum = SUMA {f(x), x 在 X},
Emax = MAX {f(x), x 在 X},
xmax = arg MAX {f(x), x 在 X}:
Emax=f(xmax)
举例,如果 n = 3,十进制为2**3,需将这个数转换成二进制
需要读取以下,n,u,v,a,b,c中的数据,求 Esum | Emax | xmax
================================================================================
|n |u |v |a |b |c | Esum | Emax | xmax |
|------------------------------------------|------------|----------------------|
| 14 |6 |8 | 16 | 17 | 18 | | | |
|------------------------------------------|------------|----------------------|
| 15 |6 | 11 | 18 | 24 | 30 | | | |
|------------------------------------------|------------|----------------------|
| 16 |4 |9 | 22 | 23 | 30 | | | |
|------------------------------------------|------------|----------------------|
| 17 |8 | 12 | 25 | 27 | 29 | | | |
|------------------------------------------|------------|----------------------|
| 14 |7 |9 | 22 | 23 | 25 | | | |
|------------------------------------------|------------|----------------------|
| 15 |7 | 10 | 20 | 21 | 29 | | | |
|------------------------------------------|------------|----------------------|
| 16 |4 | 10 | 19 | 24 | 26 | | | |
|------------------------------------------|------------|----------------------|
| 17 |7 | 11 | 21 | 22 | 32 | | | |
================================================================================ 你这些东西真的跟二进制有关吗?看不懂啊....
write( * , '(b)' ) 45678
就可以了 vvt 发表于 2015-1-21 06:45
你这些东西真的跟二进制有关吗?看不懂啊....
write( * , '(b)' ) 45678
有关的,重新发了一次题目,求大神在帮忙看一下 对不起,能力有限,完全看不懂。
转二进制非常简单的一件事情,用 b 格式输出既可。
vvt 发表于 2015-1-22 22:00
对不起,能力有限,完全看不懂。
转二进制非常简单的一件事情,用 b 格式输出既可。
也谢谢了。可能是我解释的不好吧。
页:
[1]