kon3155
发表于 2009-8-31 10:44:04
见一类海伦三角形
有的字母看不太清楚,维普有下载,谁有权限可以下载后传上来。
http://www.cqvip.com/asp/userlink.asp?re=77591
参考资料正好切题
mathe
发表于 2009-8-31 10:55:28
简单写了程序计算所有的解:
9,10,17,
7,15,20,
6,25,29,
25,6,29,
15,7,20,
10,9,17,
6,8,10,
6,8,10,
5,12,13,
8,6,10,
6,8,10,
12,5,13,
8,6,10,
5,13,12,
13,5,12,
6,10,8,
6,10,8,
10,6,8,
10,6,8,
6,29,25,
29,6,25,
7,20,15,
8,10,6,
10,8,6,
8,10,6,
10,8,6,
10,8,6,
20,7,15,
9,17,10,
17,9,10,
10,17,9,
17,10,9,
12,13,5,
13,12,5,
15,20,7,
20,15,7,
// et.cpp : Defines the entry point for the console application.
//
#include "stdafx.h"
#include <math.h>
void output(int a, int b)
{
int r=(a*a+4)*b;
int r2=(b*b+4)*a;
int d=abs(a*b-4);
if(d==0){
fprintf(stderr,"invalid solution %d,%d\n",a,b);
return;
}
if(r%d!=0){
fprintf(stderr,"invalid solution %d,%d\n",a,b);
return;
}
int c1=r/d;
int c2=r2/d;
printf("%d,%d,%d,\n",a+b,c1,c2,a,b);
}
void lookup(int a)
{
int u=a*a+4;
int d,b;
for(d=1;d<=u;d++){
if(u%d==0){
if((d+1)%a==0){
b=(d+1)/a*4;
output(a,b);
}
if((d+2)%a==0){
b=(d+2)/a*2;
output(a,b);
}
if((d+4)%a==0){
b=(d+4)/a*1;
output(a,b);
}
}
}
}
int _tmain(int argc, _TCHAR* argv[])
{
int a;
for(a=1;a<=10;a++){
lookup(a);
}
for(a=11;a<=76;a++){
if(32%(a+2)==0||52%(a+3)==0||80%(a+4)==0){
lookup(a);
}
}
return 0;
}
mathe
发表于 2009-8-31 10:59:41
实际上只有5个解:
9,10,17
7,15,20
6,25,29
6,8,10
5,12,13
gxqcn
发表于 2009-8-31 11:02:58
与 11# 里的论文结果完全一致。:):b:
kon3155
发表于 2009-8-31 11:06:22
与 11# 里的论文结果完全一致。:):b:
gxqcn 发表于 2009-8-31 11:02 http://bbs.emath.ac.cn/images/common/back.gif
给的链接因为不是免费的,做了模糊处理,最好还是能把维普的下载下来,试了几个账号,都没有收录,可能太新了。
gxqcn
发表于 2009-8-31 11:08:54
其基本思路基本可以看清了,具体数值结果就容易推导了。
kon3155
发表于 2009-8-31 11:13:42
看到整数,三角形,面积,边长,最容易想到海伦公式了,google,没想到竟然搜到【海伦三角形】~:)
〇〇
发表于 2009-8-31 13:14:34
假设有一个三角形,边长分别为a、b、c,三角形的面积S可由以下海伦公式求得:s=根号下(p(p-a)(p-b)(p-c))
而公式里的p:(a+b+c)/2
〇〇
发表于 2009-8-31 13:20:31
本帖最后由 〇〇 于 2009-8-31 13:36 编辑
如果2楼和7楼成立
SQL> with bc as(select level n from dual connect by level<=10)
2select a.n,b.n,c.n from bc a,bc b,bc c
3where power(a.n+b.n+c.n,2)=(a.n+b.n+c.n)*(a.n-b.n+c.n)*(a.n+b.n-c.n)*(-a.n+b.n+c.n)/16
4and a.n>=b.n and b.n>=c.n;
N N N
------------ ------------ ------------
10 8 6
SQL> c/1/5
1* with bc as(select level n from dual connect by level<=50)
SQL> /
N N N
------------ ------------ ------------
10 8 6
13 12 5
17 10 9
20 15 7
29 25 6
Elapsed: 00:00:00.29
〇〇
发表于 2009-8-31 13:38:11
论文