C语言:从给出的数据中统计出既是回文数又是素数的数
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C语言:从给出的数据中统计出既是回文数又是素数的数相关的知识,希望对你有一定的参考价值。
1.如果一个数从左边读和从右边读都是同一个数,就称为回文数。例如6886就是一个回文数,从给出的数据中统计出既是回文数又是素数的数(<10 9 )。 样例: 输入: 7 12 10 11 121 1331 10301 输出: 3 找素数(就是质数)我会,回文数问题也不大,关键是:这几个数据怎么输入?用数组循环输入的话需要知道个数,可是题目中不知道,能帮我解决这个问题吗?谢谢了。 最好给出代码
#include <stdio.h>int hw(int n)
int y=0,n1;
n1=n;
for(;n;n/=10)y=y*10+n%10;
return y==n1;
int prime(int n)
int i;
for(i=2;i*i<=n;i++)
if(n%i==0)return 0;
return n>1;
int main()
int n,c=' ',num=0;
scanf("%d%c",&n,&c);
while(1)
if(hw(n)&&prime(n))
num++;
if(c=='\\n')break;
scanf("%d%c",&n,&c);
printf("%d\\n",num);
return 0;
参考技术A int a; int count=0; while(scanf("%d",&a)!=EOF)/*读到文件尾结束,以空格或回车分开,读一个执行一次循环*/ 判断回文,同时是素数的话count++; 参考技术B #include"stdio.h" int s[100]; main() int i; for(i=0;;i++) scanf("%d",&s[i]); if(s[i]==0) break; else continue; for(i=0;s[i]!=0;i++) printf("%d ",s[i]); 以输入数字0为输入结束标志
采纳哦本回答被提问者采纳
ZZNUOJ_用C语言编写程序实现1607:回文素数(附完整源码)
题目描述
一个正整数,如果从左向右读(称之为正序数)和从右向左读(称之为倒序数)是一样的,这样的数就叫回文数。
一个大于1的自然数,如果除了1和它本身外,不能被其他自然数整除,则称为素数。;
读入一个整数n,判断该整数是否既是素数又是回文数。若是,输出”Yes”,否则输出”No”。
要求分别使用函数IsPrime()来判定素数,使用IsPalindrome()来判定回文数。函数原型如下:
int IsPrime(int n);
int IsPalindrome(int n);
其他功能在main()函数中实现。
输入
输入一个正整数n。
输出
若n是回文素数,则输出”Yes”,否则输出”No”。
样例输入
383
样例输出
Yes
完整源码:
以上是关于C语言:从给出的数据中统计出既是回文数又是素数的数的主要内容,如果未能解决你的问题,请参考以下文章
编程求出100到10000之间既是素数又是回文数的所有数~用c语言,急 在线等
ZZNUOJ_用C语言编写程序实现1607:回文素数(附完整源码)