本人是学习noip的高中生,求简单易懂的c++语言广,深搜代码谢谢。

刚转c语言易懂一点。。别太深奥... 刚转c语言易懂一点。。别太深奥 展开
 我来答
mqyzhWXW
2013-06-10
知道答主
回答量:41
采纳率:0%
帮助的人:16.8万
展开全部

HDU1016:Prime Ring Problem(素数环)

题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1016

AC代码:

#include<stdio.h>
#include<math.h>
void dfs(int x,int dep);
int isprime(int m);
int n,a[25],b[25];
int main()
{
    int i,j=0;
    b[1]=1;
    while(scanf("%d",&n)!=EOF)
    {
            for(i=1;i<=24;i++)
            a[i]=0;
            j++;
            printf("Case %d:\n",j);
            if(n==1)
            printf("1\n");
            else
            dfs(1,2);
            printf("\n");
    }
    return 0;
}
void dfs(int x,int dep)
{
     int i;
     if(dep==n)
     {
               for(i=2;i<=n;i++)  
               if(a[i]==0&&isprime(i+1)&&isprime(x+i)) 
               {
                      b[n]=i;
                      for(i=1;i<n;i++)
                      printf("%d ",b[i]); 
                      printf("%d\n",b[n]);
                      return;
               }            
     }       
     for(i=2;i<=n;i++)
     if(a[i]==0&&isprime(x+i))
     {
               a[i]=1;
               b[dep]=i;
               dfs(i,dep+1);
               a[i]=0; 
     }   
}
int isprime(int m)
{
    int i;
    for(i=2;i<=(int)sqrt(m);i++)   
    if(m%i==0)        
    return 0;
    return 1;
}

追问
给点注释吧。。。
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式