2012-11-21 44 views
0

我是枫林中的新人,听说过,这个数学软件在符号计算中功能强大。小号假设我们有一个像需要一个枫树程序,

一个元素集:= {一,AAB,B,ABA,AB | BB,ABAB ...}

,使得#A = 20,而且,我们知道,有些这些元素满足方程,例如对于某些正整数k,a^k =(ab)^ 2。我已经写了一些循环,包括和如果和假设A是一组数字,但我已经筋疲力尽。我明白了,我无法妥善安排和连接这些功能。 我可以问一个人提示我,枫如何帮助我找到k的值,例如在满足上述关系的有限范围内[1..10]?

+0

集合A中究竟是什么?你如何解释a和b?是像{1,112,2,121,...}还是像{2,5,65,...}这样的随机条目? – Origin

+0

@Origin:就像第一套。事实上,我们假设a和b不合并,所以我们可以有一些新的元素(但有限),比如ab,ababab,....感谢您的时间。 –

+0

oke,所以你有一些变量a和b,它们作为你的集合A中元素的数字。这些方程如何与集合相互作用?你说某些元素满足方程a^k =(ab)^ 2,但这与这个集合有什么关系?你是指方程(A中的元素)^ k =(ab)^ 2或(A中的元素)^ k =(A中的其他元素)^ 2?你的意思是“a和b不合并”? – Origin

回答

1

我这个你可以做这样的事情:

restart: 
A:={a,b,1000*a+111*b,101*b+1010*a,110*a+b}; 
     A := {a, b, 110 a + b, 1000 a + 111 b, 101 b + 1010 a} 

for i from 1 to 9 do 
    for j from 1 to 9 do 
     As:=subs(a=i,b=j,A); 
     for e in As do 
      for ee in As do 
       if((ee<>e) and (e<=ee^2)) then 
       for k from 1 to 10 while (e^k<ee^2) do 
       od; 
       if(e^k=ee^2) then 
        print(e,"^",k,"=",ee,"^2"); 
       fi; 
       fi; 
      od; 
     od; 
    od; 
od; 

在集合中的元素只需填写并让它计算。如果您先排序您的设置(因此您有A = [1,6,16,61])并且计算所有平方数,您可以稍微快一点。然后循环查看条目,但仅查看那些较大(但可能不是您要查找的条目)的条目

+0

谢谢你的时间。这是一个充满想法的好点。 :) –