数学建模社区-数学中国

标题: 求助。关于编程问题 [打印本页]

作者: douzeyang    时间: 2010-9-1 17:53
标题: 求助。关于编程问题
编写一个程序。用以寻求边长为整数且面积为整数的三角形。
" E4 x) [0 D9 h; |0 i+ V我的思路是先让边长都等于n,然后再逐次减一,看是否构成三角形,若才、构成三角形再判断是否面积为整数。下边是我的程序。
- k" @9 x9 N9 U7 Q( @8 v4 O' @- U/ x0 u2 B/ `2 a* Y
f[n_] := For[i = 1, i ≤ n, i++,
; O0 H5 }. _, k8 P7 \$ E            For[j = 1, j ≤ n, j++,2 M! g' F! y! N  I. |' {" I+ ]
            For[k =  1, k ≤ n, k++, 8 _+ m, E; x, ^; P
            If[i + j > k && i - j < k,
+ t/ i3 s+ h$ G5 t+ P0 L# i- e            For[z = 1, z < 2, z++,. \2 U6 a6 i" [% z
            If[Mod[Sqrt[(i + j + k)/2*((i + j + k)/2 - i)*((i + j + k)/2 - j)*((i + j + k)/2 - k)], 1] == 0, Print[i     , j     , k     ]]]]]]]
. ]& a# X2 F+ L! {: l2 U) i可是运行出来是不对的。求大侠帮忙看看程序哪里有问题。拜谢。要是我的程序完全不对。麻烦大侠给一个正确的。6 V6 L& v. C1 t( v" @  i

作者: 佳琳    时间: 2010-9-1 18:06
大家都来帮忙看看哦
作者: douzeyang    时间: 2010-9-1 18:08
自己顶顶~~~~~
作者: 付绍纯    时间: 2010-9-1 20:00
顶顶更健康,越顶吃的越香。
作者: bluesonc    时间: 2010-9-2 08:00
鉴定完毕!  
作者: 753085848    时间: 2010-9-2 08:27
看不懂啊!!!!!!!!!!!!!!
作者: Xiesdl    时间: 2010-9-2 12:00
试试运气啦~~~~~~~~~~~
作者: wanghui1117    时间: 2010-9-2 15:00
试试运气啦~~~~~~~~~~~
作者: lathoj    时间: 2010-9-2 20:00
鉴定完毕!  
作者: jacket2003    时间: 2010-9-3 08:00
强烈支持。楼主万岁
作者: zhangjb    时间: 2010-9-3 12:00
试试运气啦~~~~~~~~~~~
作者: andyzhang    时间: 2010-9-3 15:00
我要把这个帖子一直往上顶,往上顶!
作者: dragon77    时间: 2010-9-3 20:00
强人,佩服死了。呵呵,不错啊
作者: dalaba    时间: 2010-9-4 08:00
强烈支持。楼主万岁
作者: lvhang0810    时间: 2010-9-4 12:00
我基本上是采用看英语文章的办法,先泛读,再精读,再一句一句看,最后再提纲挈领,总算是明白一点了,当然,也可能还是领悟错了。最后要说的一句话是:楼主,你很牛叉,希望你不是真的有病。   
作者: seeing    时间: 2010-9-4 15:00
我来了~~~~~~~~~ 闪人~~~~~~~~~~~~~~~~  
作者: jale    时间: 2010-9-4 20:00
顶顶更健康,越顶吃的越香。
作者: heavent    时间: 2010-9-5 08:00
哦~~
作者: quhb666    时间: 2010-9-5 12:00
楼主那种裂纸欲出的大手笔,竟使我忍不住一次次的翻开楼主的帖子……   
作者: diana    时间: 2010-9-5 15:00
我基本上是采用看英语文章的办法,先泛读,再精读,再一句一句看,最后再提纲挈领,总算是明白一点了,当然,也可能还是领悟错了。最后要说的一句话是:楼主,你很牛叉,希望你不是真的有病。   
作者: vivitian    时间: 2010-9-5 20:00
声明一下:本人看贴和回贴的规则,好贴必看,精华贴必回。
作者: dfghaasd    时间: 2010-9-6 08:00
楼主那种裂纸欲出的大手笔,竟使我忍不住一次次的翻开楼主的帖子……   
作者: fasst    时间: 2010-9-6 12:00
强烈支持。楼主万岁
作者: qingqing6644    时间: 2010-9-6 12:55
很好 很强大 顶顶顶
作者: a1525354555    时间: 2010-9-6 15:00
我来了~~~~~~~~~ 闪人~~~~~~~~~~~~~~~~  
作者: loverose    时间: 2010-9-6 20:00
强人,佩服死了。呵呵,不错啊
作者: skyling    时间: 2010-9-7 08:00
我回不抢呢 考虑再三 还是不抢了吧 ^_^
作者: dnq    时间: 2010-9-7 12:00
顶顶更健康,越顶吃的越香。
作者: zhnagbei_2004    时间: 2010-9-7 15:00
鉴定完毕!  
作者: ydnzd    时间: 2010-9-7 20:00
试试运气啦~~~~~~~~~~~
作者: cdn    时间: 2010-9-8 08:00
我来了~~~~~~~~~ 闪人~~~~~~~~~~~~~~~~  
作者: boy53300    时间: 2010-9-8 12:00
声明一下:本人看贴和回贴的规则,好贴必看,精华贴必回。
作者: lgfree    时间: 2010-9-8 15:00
我基本上是采用看英语文章的办法,先泛读,再精读,再一句一句看,最后再提纲挈领,总算是明白一点了,当然,也可能还是领悟错了。最后要说的一句话是:楼主,你很牛叉,希望你不是真的有病。   
作者: dajun539    时间: 2010-9-8 20:00
强人,佩服死了。呵呵,不错啊
作者: zxcvbnm5785    时间: 2010-9-9 08:00
试试运气啦~~~~~~~~~~~
作者: jeanluc111    时间: 2010-9-9 08:00
试试运气啦~~~~~~~~~~~
作者: haiyue    时间: 2010-9-9 12:00
强人,佩服死了。呵呵,不错啊
作者: lvyongzhi    时间: 2010-9-9 15:00
鉴定完毕!  
作者: byxh111    时间: 2010-9-9 20:00
鉴定完毕!  
作者: zjnuzhc    时间: 2010-9-9 20:00
强烈支持。楼主万岁
作者: lzg    时间: 2010-9-10 08:00
偶的天啊!这是什么样的贴子呢?
作者: douzeyang    时间: 2010-9-10 09:37
.....................
作者: sufan    时间: 2010-9-10 11:39
(*^__^*) 指点系词……激扬文字……  
作者: mxyo3111    时间: 2010-9-10 11:51
强人,佩服死了。呵呵,不错啊
作者: HaoSHi    时间: 2010-9-10 12:00
声明一下:本人看贴和回贴的规则,好贴必看,精华贴必回。
作者: cdly1    时间: 2010-9-10 15:00
强烈支持。楼主万岁
作者: xuefei_310    时间: 2010-9-10 20:00
哦~~
作者: stevejason    时间: 2010-9-11 08:00
试试运气啦~~~~~~~~~~~
作者: Marvin41029    时间: 2010-9-11 12:00
声明一下:本人看贴和回贴的规则,好贴必看,精华贴必回。
作者: algebra    时间: 2010-9-11 15:00
楼主的帖子实在是写得太好了。可是我立刻想到,这么好的帖子,倘若别人看不到,那么不是浪费楼主的心血吗?经过痛苦的思想斗争,我终于下定决心,牺牲小我,奉献大我。我要拿出这帖子奉献给世人赏阅,我要把这个帖子一直往上顶,往上顶!顶到所有人都看到为止!  
作者: Ready    时间: 2010-9-11 20:00
楼主,你写得实在是太好了。我惟一能做的,就只有把这个帖子顶上去这件事了
作者: yangting    时间: 2010-9-12 08:00
试试运气啦~~~~~~~~~~~
作者: mk    时间: 2010-9-12 12:00
强人,佩服死了。呵呵,不错啊
作者: Beatrice    时间: 2010-9-12 15:01
哦~~
作者: kxhu    时间: 2010-9-12 20:00
哦~~
作者: talent212121    时间: 2010-9-13 15:00
鉴定完毕!  
作者: hyxie616    时间: 2010-9-13 20:00
楼主,你写得实在是太好了。我惟一能做的,就只有把这个帖子顶上去这件事了
作者: haiyuan    时间: 2010-9-14 12:00
鉴定完毕!  
作者: dajun539    时间: 2010-9-14 15:00
我要把这个帖子一直往上顶,往上顶!
作者: futures    时间: 2010-9-14 20:00
我要把这个帖子一直往上顶,往上顶!
作者: 流氓兔    时间: 2010-9-15 15:00
哦~~
作者: sjs914915    时间: 2010-9-15 20:00
试试运气啦~~~~~~~~~~~
作者: chxq666    时间: 2010-9-15 20:00
哦~~
作者: myqlzx    时间: 2010-9-16 15:00
我要把这个帖子一直往上顶,往上顶!
作者: wert    时间: 2010-9-16 20:00
强人,佩服死了。呵呵,不错啊
作者: mathcd    时间: 2010-9-19 07:28
程序:
, [' }: S# q8 H4 j% j
  1. f[x_, y_] := Module[0 @) n, b; f# a2 f$ N* E
  2.    {tmp, s, p, i, lst, S},& d; W/ O; C" q: ]1 o
  3.    tmp = (#1 + #2 + #3)/2 &;! g. U# t$ U5 e+ F+ G- k# k
  4.    lst = {};% i4 f7 b9 l/ V7 O
  5.    For[i = 1, i <= y, i++,
    3 [+ t& m+ ^7 G. X/ y
  6.     p = RandomInteger[x, 3];- p; _/ e; [8 D( \8 M% H
  7.     s = tmp @@ p;
    * Y- w# P- P& Q. ?. P6 ?3 W# V
  8.     S = Sqrt[s*(s - #1)*(s - #2)*(s - #3)] & @@ p;* Z: [5 Q. D+ o' e/ `
  9.     Which[Element[S, Reals] && Element[S, Integers] && S != 0,
    * P! A/ I/ @6 J" G$ T& P6 g# K9 {
  10.      AppendTo[lst, {p, S}]];$ x0 Z) D- s. V# T+ U* j
  11.     ];
    1 c; u2 k  j9 X$ h0 Q5 w# Y$ A7 y
  12.    lst
    9 O0 L- X" a9 ~
  13.    ];
复制代码

2 ]0 L7 t6 I  x( y. w) P; @# ?, H' t6 T0 t* D( _
说明:
* N) T, v0 e, m2 q5 K: X) M程序f[x,y]采用随机算法。& }0 r& Q" M* G. b
第一个参数x:边长取值范围
; Z3 ^# y+ j0 P) m; G" {第二个参数y:循环次数
, d  b: Q# s( M( n" p
" S. A' G+ g* B例子:/ H  V: t! {4 l. |9 y) j8 g8 S# J
9 Q: w# k. N& K$ `
  1. f[100, 10000] // MatrixForm
复制代码

" g" H" n' \. ]  b8 L' o* L7 V9 y( B' g3 n
结果:+ G4 J3 v. T+ Q& f9 b4 y6 A/ d

9 l2 \4 V) e/ p
! a& S6 I. f' s, a, |% M" h: v" @
5 q8 I4 P4 v+ @, o# C

TEST.jpg (33.53 KB, 下载次数: 481)

TEST.jpg


作者: yellowaug    时间: 2010-9-19 23:37
C语言的?????
作者: mathcd    时间: 2010-9-20 07:29
这里使Mathematica 版吧




欢迎光临 数学建模社区-数学中国 (http://www.madio.net/) Powered by Discuz! X2.5