求各位大神帮帮忙。用C语言读取文本文件TXT,然后将十进制变为二进制进行运算。
设置常量{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 | | | |
================================================================================