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语言,急 在线等

4N - 素数回文

ZZNUOJ_用C语言编写程序实现1607:回文素数(附完整源码)

ZZNUOJ_用C语言编写程序实现1607:回文素数(附完整源码)

写一个C语言编程,求素数及反序数

C语言输入一个数n,输出n以内所有的回文素数.回文素数,即是素数,又是回文数