Serendipity丶


私信TA

用户名:uq_38590416266

访问量:1986

签 名:

别人的屋檐再大,不如自己手中有伞

等  级
排  名 56
经  验 10598
参赛次数 0
文章发表 33
年  龄 0
在职情况 学生
学  校
专  业

  自我简介:

唯有提高自己的核心竞争能力,才可在逆流中不断前进。

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

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

参考代码:

#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分

1 人评分

看不懂代码?想转换其他语言的代码? 或者想问其他问题? 试试问问AI编程助手,随时响应你的问题:

编程语言转换

万能编程问答  

代码解释器

代码纠错

SQL生成与解释

  评论区