找回密码
 欢迎注册
楼主: 〇〇

[讨论] 如何求出1-n以内勾股数之和

[复制链接]
发表于 2011-4-22 07:01:37 | 显示全部楼层
30# zeroieme
这个改得好,
因为a-b是奇数,所以a取 b+1,b+3,b+5,........

仔细想了一下,如果a取步长2的话,那么if语句里面的其实就可以用gcd(a,b)==1 了
  1. #include <stdio.h>
  2. typedef unsigned long int DW;
  3. inline DW gcd(DW m,DW n){DW t;  while(m!=0) t=m,m=n%m,n=t;return n;}  
  4. DW Test(DW n){
  5.     DW t,s,ii,cnt=1,sum=0,c=1;
  6.     DW a,b;
  7.     for(b=1;b*b<=n/2;b++)
  8.         for(a=b+1;t=a*a+b*b,t<=n;a+=2){
  9.                         if(gcd(a,b)==1){
  10.                                 s=n/t;       
  11.                                 // for(ii=1;ii<=s;ii++)
  12.                                 // printf("%5u.%-5u\t%u,%u,%u\n",c++,cnt,ii*(a*a-b*b),2*ii*a*b,ii*t);
  13.                                 // cnt++;
  14.                                 sum+=s*(s+1)*a*(a+b);
  15.                           }
  16.                 }      
  17.     return sum;
  18. }

  19. int main(int c ,char **v)
  20. {   if (c==2) {
  21.                 printf("b: total of triples less than %s :\t%lu\n",v[1],Test(atoi(v[1])));
  22.     }
  23.     return 0;
  24. }
复制代码
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
 楼主| 发表于 2011-4-23 10:42:53 | 显示全部楼层
看来用好算法很重要
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
发表于 2011-4-27 09:31:48 | 显示全部楼层
32# 〇〇
在装有vxworks 的板子上运行了上面的程序,晒晒截图:
20110427093034.png
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
发表于 2011-5-12 18:28:59 | 显示全部楼层
刚才发现〇〇 和wayne 互为马甲。。。
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
发表于 2011-5-13 08:38:45 | 显示全部楼层
34# plp626


毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
发表于 2011-5-13 09:05:28 | 显示全部楼层
刚才发现〇〇 和wayne 互为马甲。。。
plp626 发表于 2011-5-12 18:28


这个似乎没有依据。
倒是感觉两人的行文差异很大,不会是同一人。
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
发表于 2011-5-13 09:07:45 | 显示全部楼层
36# gxqcn
这个话题很有趣,大家可以深度挖掘一下
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
发表于 2011-5-13 09:57:35 | 显示全部楼层
按本论坛的潜规则。头像不太对劲,应该不是马甲。
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
发表于 2011-5-13 12:59:37 | 显示全部楼层
两个人的IP不同
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
发表于 2011-5-14 14:45:49 | 显示全部楼层
我是看它的百度空间猜测的。。
那两个圈圈。。。还有后面哪个date -d ... 很面熟。。。

http://hi.baidu.com/%B0%D7%C0%CB/home
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
您需要登录后才可以回帖 登录 | 欢迎注册

本版积分规则

小黑屋|手机版|数学研发网 ( 苏ICP备07505100号 )

GMT+8, 2024-4-26 22:02 , Processed in 0.048697 second(s), 17 queries .

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表