作者aleyukimo (aleyu)
看板Programming
标题[问题] 请问要如何用C++ 设定f(a*b)=f(a)*f(b)?
时间Sun Aug 9 02:37:36 2009
最近在算一个题目
例如
f(a)=b
f(b)=c
f(c)=d
f(d)=e
f(e)=a*b
f(a*b)=f(a)*f(b)=b*c
......
遇到b*b*c=c
(a*b*c*d)*(b*d*f)=a*c*f
..........
这里的abcde不一定是实数,他只是个符号
例1
a=10000
b=01000
c=00100
d=00010
e=00001
ac=a*c=10100
cde=00111
(ac)*(cde)=ade=10011
例2
这里有5个数(a,b,c,d,e) 可以看成内积
a=(-1,1,1,1,1)
b=(1,-1,1,1,1)...
e=(1,1,1,1,-1)
此时ac=a与c的内积=(-1,1,-1,1,1)
但加法不行...
要求满足f^n(a)=a的n的最小值
n是指合成函数
如f^2(a)=f(f(a))=a
f^3(a)=f(f(f(a)))=a
因为要有很多了例子要跑 如f(e)=a*c*d
或者不只有a b c d e5个数 也有6个数....
不知道要怎麽用C++去设定函数?
麻烦各位给个头绪
我已经想了很久 好几天睡不太好
谢谢
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 140.127.71.25
1F:推 march20:这不是 C++ 的函数的用途. 比较有可能有 218.35.10.60 08/09 04:35
2F:推 march20:办到你的要求的是 logic programming lang 218.35.10.60 08/09 04:36
3F:推 march20:像 prolog. C++ 呀, 我看你只好做 218.35.10.60 08/09 04:36
4F:推 march20:先做 factorization 218.35.10.60 08/09 04:36
logic programming lan和 prolog. C++
是另外一种程式语言吗?
我刚刚网路上搜寻一下,但不知道程式语言名称的全名
谢谢...非常感激你~~
※ 编辑: aleyukimo 来自: 140.127.71.25 (08/09 13:42)
5F:推 march20:logic programming language 是通称啦125.229.124.150 08/09 14:12
6F:推 march20:就像我们说 C++ 是一种 OOP 一样125.229.124.150 08/09 14:13
7F:推 march20:prolog 是其中一种125.229.124.150 08/09 14:13
8F:推 march20:不过你都说要用 C++, 就别管什麽 prolog125.229.124.150 08/09 14:13
9F:推 march20:乖乖的做 factorization 吧125.229.124.150 08/09 14:13
10F:推 ggg12345:先学会写Fibonacci Functiony再用穷举求n 140.115.4.12 08/09 17:25
11F:→ yoco315:我完全看不懂你到底要解什麽.. 118.160.104.12 08/09 18:02
12F:推 buganini:看起来你把数学式跟程式码混为一谈了 220.135.231.23 08/09 20:19
13F:→ buganini:程式语言是命令 你写的是叙述 220.135.231.23 08/09 20:20
14F:推 ggg12345:数学函数叙述适合写成recursive function 140.115.4.12 08/10 00:22