解题思路:用函数翻转一下 再判断 用数组存符合的数字 

注意事项:最后一项没逗号 这个用数组和记录符合题目数字的个数解决

参考代码:

#include<bits/stdc++.h>

using namespace std;

int f1(int n)//数字翻转 123变321 

{

int sum =0;

while(n)

{

sum = sum * 10 + n%10;

n/=10;

}

return sum;

}

int main()

{

int n,m,ans = 0,flag;

int a[10000];

cin >> n >> m;

for(int i = n ; i <=m ;i++)

{

flag = 1;//标记 

for(int j = 2 ; j <= sqrt(i);j++)//这个开平方减少时间复杂度 

{

if(i % j == 0)//判断是否为素数 

{

flag = 0;

break;

}

}

if(flag == 1)//判断该数为素数了 

{

int k = f1(i);//得到翻转后的数 

for(int l = 2; l <= sqrt(k);l++)//再进行判断 

{

if(k % l == 0)

{

flag = 0;

break;

}

}

if(flag == 1)

{

a[ans++] = i;//将该数存入数组 ans记录个数 

}

}

}

if(ans == 0) cout << "No";//为0时候 no 

else

{

for(int i = 0 ;i < ans -1 ;i++)//前n-1个有逗号 

printf("%d,",a[i]);

cout << a[ans-1];//输出最后一个 

}

return 0;

}


点赞(0)
 

0.0分

2 人评分

C语言网提供由在职研发工程师或ACM蓝桥杯竞赛优秀选手录制的视频教程,并配有习题和答疑,点击了解:

一点编程也不会写的:零基础C语言学练课程

解决困扰你多年的C语言疑难杂症特性的C语言进阶课程

从零到写出一个爬虫的Python编程课程

只会语法写不出代码?手把手带你写100个编程真题的编程百练课程

信息学奥赛或C++选手的 必学C++课程

蓝桥杯ACM、信息学奥赛的必学课程:算法竞赛课入门课程

手把手讲解近五年真题的蓝桥杯辅导课程

评论列表 共有 0 条评论

暂无评论