| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 743 人关注过本帖
标题:三阶素数幻方输出少一组???
只看楼主 加入收藏
double聪
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:46
专家分:118
注 册:2011-11-19
结帖率:66.67%
收藏
已结贴  问题点数:40 回复次数:4 
三阶素数幻方输出少一组???
通常的n阶幻方由1,2,3,4,...,n^2填入构成。而素数幻方全是由素数构成的各行、各列与两对角线之和均相等的方阵。
    试在一般区间[c,d]找出9个素数,构成一个三阶素数幻方,使得该方阵中3行、3列与两对角线上的3个数之和均相等。最后统计出素数幻方的个数。注意,一个素数幻方转置后仍就是素数幻方,但不再计入总数。
    例如,c=100,d=400, 那么区间[100,400]内的素数幻方共有2个,分别是:
  No.1:
     137     353     191
     281     227     173
     263     101     317
   No.2:
     173     359     257
     347     263     179
     269     167     353

#include<stdio.h>
#include<math.h>

int sushu(int n)
{
    int i=2,s=1;
    for(;i<sqrt(n)+0.5;i++)
        if(n%i==0){
            s=0;
            break;
        }
    return s;
}

int main()
{
    int m,n,k,i,j=0,su[500],dai[500],l=0,sum=0;
    scanf("%d%d",&m,&n);
    for(i=m;i<=n;i++)
        if(sushu(i)==1)    su[j++]=i;
    for(i=4;i<j-5;i++)
    {
        for(k=0;k<i;k++)
            if(sushu(2*su[i]-su[k])==1 && 2*su[i]-su[k]<=n) dai[l++]=su[k];
        if(l>=4) sum+=chuli(dai,l,su[k]);
        l=0;
    }
    printf("%d",sum);
    return 0;
}



int chuli(int dai[],int l,int p)
{
    int g,h,i,j,k,s=0;
    for(g=0;g<l-3;g++)
        for(h=g+1;h<l-2;h++)
            for(i=h+1;i<l-1;i++)
                for(j=i+1;j<l;j++)
                    if(dai[h]-dai[g]+dai[j]==p && dai[j]+dai[i]-dai[h]==p && 2*p-dai[i]+2*p-dai[j]+dai[h]==3*p) s++;
    return s;
}
                     
输入100 400是正确的,但输入50 500 只有7组,正确答案应该是8  
help!!!!


搜索更多相关主题的帖子: 统计 317 对角线 
2011-12-08 21:40
傻瓜菜
Rank: 2
来 自:earth
等 级:论坛游民
帖 子:73
专家分:66
注 册:2011-10-4
收藏
得分:20 
我知道
2011-12-08 21:49
tianqiao
Rank: 2
等 级:论坛游民
帖 子:80
专家分:55
注 册:2011-9-21
收藏
得分:20 
楼上的两位无聊不无聊
2011-12-08 23:12
double聪
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:46
专家分:118
注 册:2011-11-19
收藏
得分:0 
你们俩2B,这样也得给你们分。。。
2011-12-11 15:35
h5211014
Rank: 1
等 级:新手上路
帖 子:4
专家分:0
注 册:2011-12-12
收藏
得分:0 
没有大神解决吗?  我也看不出来  求解
2011-12-12 12:29
快速回复:三阶素数幻方输出少一组???
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.014570 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved