解题思路:用函数翻转一下 再判断 用数组存符合的数字
注意事项:最后一项没逗号 这个用数组和记录符合题目数字的个数解决
参考代码:
#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 人评分
C语言程序设计教程(第三版)课后习题1.5 (C++代码)浏览:759 |
C语言程序设计教程(第三版)课后习题6.9 (C语言代码)浏览:774 |
C语言程序设计教程(第三版)课后习题1.5 (C语言代码)浏览:513 |
DNA (C语言描述,数据结构)浏览:855 |
2004年秋浙江省计算机等级考试二级C 编程题(1) (C语言代码)浏览:506 |
C语言程序设计教程(第三版)课后习题1.5 (C语言代码)浏览:677 |
C语言程序设计教程(第三版)课后习题9.2 (C语言代码)浏览:556 |
回文数字 (C语言代码)浏览:2510 |
1012题解浏览:869 |
矩阵乘方 (C语言代码)浏览:1030 |