编程找出100~999之间所有既是回文数又是质数的数 20
编程找出100~999之间所有既是回文数又是质数的数。回文数是指一个数正方向念和反方向念都是同一个数的数,如101就是这样的数。要求:1)在主函数中调用一个判断回文数的函...
编程找出100~999之间所有既是回文数又是质数的数。回文数是指一个数正方向念和反方向念都是同一个数的数,如101就是这样的数。
要求:
1)在主函数中调用一个判断回文数的函数,在判断回文数的函数中又调用一个判断质数的函数。
2)在判断质数的函数中,将找出的回文质数按每行10个数输出。 展开
要求:
1)在主函数中调用一个判断回文数的函数,在判断回文数的函数中又调用一个判断质数的函数。
2)在判断质数的函数中,将找出的回文质数按每行10个数输出。 展开
展开全部
#include <stdio.h>
#include <math.h>
int p(int x) //x是素数返回1,否则返回0
{
int i;
for(i=2;i<=sqrt(x);i++)
if (x%i==0) return 0;
return 1;
}
int h(int x)//x是回文,返回1,否则返回0
{
int y=x,i=0;
int a,b;
while (y>0) y=y/10,i++; //求x的位数
y=x;
while (y)
{
a=y/pow(10,i-1);
b=y%10;
y=y-a*pow(10,i-1);
y=y/10;
if (a!=b) return 0;
i=i-2;
}
return 1;
}
void main()
{
int i;
for(i=100;i<10000;i++)
if(p(i) && h(i))
printf("%d,",i);
}
展开全部
#include <stdio.h>
#include <math.h>
int p(int x) //x是素数返回1,否则返回0
{
int i;
for(i=2;i<=sqrt(x);i++)
if (x%i==0) return 0;
return 1;
}
int h(int x)//x是回文,返回1,否则返回0
{
int y=x,i=0;
int a,b;
while (y>0) y=y/10,i++; //求x的位数
y=x;
while (y)
{
a=y/pow(10,i-1);
b=y%10;
y=y-a*pow(10,i-1);
y=y/10;
if (a!=b) return 0;
i=i-2;
}
return 1;
}
void main()
{
int i;
for(i=100;i<10000;i++)
if(p(i) && h(i))
printf("%d,",i);
}
#include <math.h>
int p(int x) //x是素数返回1,否则返回0
{
int i;
for(i=2;i<=sqrt(x);i++)
if (x%i==0) return 0;
return 1;
}
int h(int x)//x是回文,返回1,否则返回0
{
int y=x,i=0;
int a,b;
while (y>0) y=y/10,i++; //求x的位数
y=x;
while (y)
{
a=y/pow(10,i-1);
b=y%10;
y=y-a*pow(10,i-1);
y=y/10;
if (a!=b) return 0;
i=i-2;
}
return 1;
}
void main()
{
int i;
for(i=100;i<10000;i++)
if(p(i) && h(i))
printf("%d,",i);
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2009-06-04
展开全部
B:for(int i=100;i<=999;i++){
String s=i+"";//将数字转化成字符串
String s1=s.substring(0, 1);//取其百位数字
String s2=s.substring(2, 3);//取其个位数字
if(s1.equals(s2)){//判断百位数字是否等于各位数字
for(int j=2;j<i;j++){//一下判断是否质数
if(i%j==0){
continue B;//能整除就不是质数,返回继续循环
}
}
System.out.println(i+" ");//打印出质数
String s=i+"";//将数字转化成字符串
String s1=s.substring(0, 1);//取其百位数字
String s2=s.substring(2, 3);//取其个位数字
if(s1.equals(s2)){//判断百位数字是否等于各位数字
for(int j=2;j<i;j++){//一下判断是否质数
if(i%j==0){
continue B;//能整除就不是质数,返回继续循环
}
}
System.out.println(i+" ");//打印出质数
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
B:for(int i=100;i<=999;i++){
String s=i+"";//将数字转化成字符串
String s1=s.substring(0, 1);//取其百位数字
String s2=s.substring(2, 3);//取其个位数字
if(s1.equals(s2)){//判断百位数字是否等于各位数字
for(int j=2;j<i;j++){//一下判断是否质数
if(i%j==0){
continue B;//能整除就不是质数,返回继续循环
}
}
System.out.println(i+" ");//打印出质数
}
}
不知道你要求用什么语言编程,以上使用java编的,就算你用C的话 以上也有借鉴 呵呵
String s=i+"";//将数字转化成字符串
String s1=s.substring(0, 1);//取其百位数字
String s2=s.substring(2, 3);//取其个位数字
if(s1.equals(s2)){//判断百位数字是否等于各位数字
for(int j=2;j<i;j++){//一下判断是否质数
if(i%j==0){
continue B;//能整除就不是质数,返回继续循环
}
}
System.out.println(i+" ");//打印出质数
}
}
不知道你要求用什么语言编程,以上使用java编的,就算你用C的话 以上也有借鉴 呵呵
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询