作者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