标题:回文素数的优化问题,希望把我这个算法尽可能的优化,输入一个整数n(2,100 ...
取消只看楼主
天衣boy
Rank: 1
来 自:中国河南
等 级:新手上路
帖 子:99
专家分:0
注 册:2016-10-20
结帖率:69.23%
 问题点数:0 回复次数:1 
回文素数的优化问题,希望把我这个算法尽可能的优化,输入一个整数n(2,1000000)输出n范围的回文素数
一号代码:
#include<iostream>
#include<string>
#include<math.h>
 
using namespace std;
int o(int n)
{
    int i;
if(n<2)
return 0;
else for(i=2;i<=n-1;++i)
if(n%i==0)return 0;
return 1;
 
}
int test(int num)
{
 
  long n=0;
    long count=0;
    count=num;
    do
    {
        n*=10;
        n+=num%10;
        num/=10;
    }
    while (num>0);
    if (count==n)
    {
        return 1;
    }
    else
    {
        return 0;
    }
}
int main()
{
    int n,count=0,i;
    cin>>n;
    for(i=1;i<=n;++i)
    {
    if(o(i)==1)
        if(test(i)==1)
        {
            cout<<i<<" ";
            count++;
            if(count%5==0)
            cout<<endl;
        }
    }
    return 0;
}


二号代码:
#include<iostream>
#include<cstring>
#include<string>
using namespace std;
int main()
{
int m,n,i,t,x,h,b=0,N,z,count=0;
int a[7];
scanf("%d",&m);
for(i=1;i<=m;i++)
{
for(x=2;x<i;x++)
if(i%x==0)
break;
if(x==i)
{
    z=i;
    b=0;
    while(z)
    {
        a[b]=z%10;
        z=z/10;
        b++;
    }
    for (z=0;z<b;z++)
        if(a[z]!=a[b-1-z]) break;
    if(z==b)
     {
         count++;
           printf("%d ",i);
           if(count%5==0)
           cout<<endl;
           
}
}
}
}
搜索更多相关主题的帖子: include return count 
2017-05-09 21:02
天衣boy
Rank: 1
来 自:中国河南
等 级:新手上路
帖 子:99
专家分:0
注 册:2016-10-20
得分:0 
回复 2楼 wp231957
12321这样的

刚学习小半年   ,   努力成为专家
2017-05-30 16:44



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-476863-1-1.html




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

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