TC官方合作论坛
标题:
数学问题
[打印本页]
作者:
c724211922
时间:
2012-9-12 09:57
标题:
数学问题
1.已经知道三角形两个短边长x,y和他们的夹角度数a,求另一个长边长z 。
2.已经知道三角形长边长z和他的对角是a=90度,另外2条边长x,y。的整数解数组。
谁知道用代码具体怎么实现。
作者:
板桥
时间:
2012-9-12 10:09
提示:
作者被禁止或删除 内容自动屏蔽
作者:
feng123144
时间:
2012-9-12 10:21
长宽高
作者:
zxyc2000
时间:
2012-9-12 11:17
回复
1楼
c724211922
的帖子
帮你写了两个函数,测试没有问题。
//第一个:
//用这个公式sqrl(x*x+y*y-2*x*y*cos(alfa*PI/180))直接算出来就行了
//sqrl:开平方,alfa:度数,PI:3.1415926
function double getotherside(double x,double y,double alfa)
double rtn
double PI = 3.1415926
rtn = math.sqrt(x*x+y*y-2*x*y*math.cos(alfa*PI/180))
return rtn
endfunction
//第二个:
//先算出45°情况的边长:a=z*cos(45*PI/180)
//从1开始,到a结束,看看是否符合
function bool getenablearray(double z,int[][] &arr)
int[][] idx = int[50][2]
int count
double PI = 3.1415926
double ax = z*math.cos(45*PI/180)
double i=1,j
while(i<ax)
j = math.sqrt(z*z-i*i)
int ij = convert.doubletoint(j)
if(ij*ij+i*i==z*z)
idx[count][0]=convert.doubletoint(i)
idx[count][1]=ij
count = count+1
endif
i = i + 1
endwhile
if(count>0)
arr = int[count][2]
int k = 0
while(k<count)
arr[k][0]=idx[k][0]
arr[k][1]=idx[k][1]
k = k + 1
endwhile
return true
endif
return false
endfunction
复制代码
作者:
c724211922
时间:
2012-9-12 11:18
回复
4楼
zxyc2000
的帖子
在哪呢函数
作者:
zxyc2000
时间:
2012-9-12 11:32
回复
5楼
c724211922
的帖子
4#
作者:
c724211922
时间:
2012-9-12 14:09
回复
6楼
zxyc2000
的帖子
谢谢啦 我原先想通过三角函数自己计算解决大唐无双坐标系转换问题,(实验证明数学不好很难)现在皓月给我个帖子直接给出了转换的封装函数办法。我这下不用算了。不过还是要谢谢你的回复,我以后再仔细研究呵呵。
欢迎光临 TC官方合作论坛 (http://bbs.52tc.co/)
Powered by Discuz! X3.1