用C++编一个程序,输出1000以内的回文素数
展开全部
#include<stdio.h>
void main()
{
int i,sum=0;
for(i=0;i<=9;i++) sum++; //一位数都是回文。
for(i=10;i<=99;i++)
if(i/10==i%10) sum++;//对于两位数,个位等于十位,算回文。
for(i=100;i<=999;i++)
if(i%10==i/100) sum++;//对于三位数,个位等于百位,算回文。
printf("sum=%d\n",sum);
}
void main()
{
int i,sum=0;
for(i=0;i<=9;i++) sum++; //一位数都是回文。
for(i=10;i<=99;i++)
if(i/10==i%10) sum++;//对于两位数,个位等于十位,算回文。
for(i=100;i<=999;i++)
if(i%10==i/100) sum++;//对于三位数,个位等于百位,算回文。
printf("sum=%d\n",sum);
}
展开全部
#include "iostream"
#include "cmath"
using namespace std;
bool prime(int n)
{
for(int i=2;i<=sqrt(n*1.0);i++)
if(n%i==0) return 0;
return 1;
}
bool sym(int n)
{
if(n<12&&n!=10) return 1;
else if(n>100&&n<1000 && n/100==n%10) return 1;
else return 0;
}
int main(int argc, char* argv[])
{
int i;
for(i=2;i<1000;i++)
if(sym(i) && prime(i))
cout<<i<<endl;
return 0;
}
希望对您有帮助。
#include "cmath"
using namespace std;
bool prime(int n)
{
for(int i=2;i<=sqrt(n*1.0);i++)
if(n%i==0) return 0;
return 1;
}
bool sym(int n)
{
if(n<12&&n!=10) return 1;
else if(n>100&&n<1000 && n/100==n%10) return 1;
else return 0;
}
int main(int argc, char* argv[])
{
int i;
for(i=2;i<1000;i++)
if(sym(i) && prime(i))
cout<<i<<endl;
return 0;
}
希望对您有帮助。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
#include <stdio.h>
#include <math.h>
#include <time.h>
int prime[3432]={2, 3, 5, 7, 11, 13, 17, 19};
FILE *f;
void GetPrime()
{
int i, j, k=8, sq;
fprintf(f, "3 5 7 11 ");
for (i=23; i<32000; i+=2)
{
for (sq=(int)sqrt((float)i)+1, j=0; prime[j]<sq; j++)
if (i%prime[j]==0) goto NEXT;
prime[k++]=i;
NEXT:;
}
}
int IsPrime(int n)
{
int i=0, sq=(int)sqrt((float)n)+1;
for (; prime[i]<sq; i++)
if (n%prime[i]==0) return 0;
return 1;
}
int main()
{
int i=131, j, irev, count=4;
f=fopen("primes.txt", "w");
clock_t begin, end;
begin=clock();
GetPrime();
for (i=13; i<100000; i++)
{
j=(irev=i)/10;
do irev=irev*10+j%10;
while (j/=10);
if (IsPrime(irev)) {fprintf(f, "%d ", irev); count++;}
}
end=clock();
printf("共%d个\n用时%f秒\n", count, (float)(end-begin)/(float)CLOCKS_PER_SEC);
fclose(f);
return 0;
}
#include <math.h>
#include <time.h>
int prime[3432]={2, 3, 5, 7, 11, 13, 17, 19};
FILE *f;
void GetPrime()
{
int i, j, k=8, sq;
fprintf(f, "3 5 7 11 ");
for (i=23; i<32000; i+=2)
{
for (sq=(int)sqrt((float)i)+1, j=0; prime[j]<sq; j++)
if (i%prime[j]==0) goto NEXT;
prime[k++]=i;
NEXT:;
}
}
int IsPrime(int n)
{
int i=0, sq=(int)sqrt((float)n)+1;
for (; prime[i]<sq; i++)
if (n%prime[i]==0) return 0;
return 1;
}
int main()
{
int i=131, j, irev, count=4;
f=fopen("primes.txt", "w");
clock_t begin, end;
begin=clock();
GetPrime();
for (i=13; i<100000; i++)
{
j=(irev=i)/10;
do irev=irev*10+j%10;
while (j/=10);
if (IsPrime(irev)) {fprintf(f, "%d ", irev); count++;}
}
end=clock();
printf("共%d个\n用时%f秒\n", count, (float)(end-begin)/(float)CLOCKS_PER_SEC);
fclose(f);
return 0;
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询