求用C语言求1000以内的回文素数,要在Visual C++6.0的环境里运行,谢谢啦

 我来答
机械百事通happy
2019-09-20 · TA获得超过3.7万个赞
知道大有可为答主
回答量:1.2万
采纳率:34%
帮助的人:986万
展开全部
/*
回文素数——指对一个素数n从左到右和从右到左读其结果是一样
的,既称为该素数为回文素数。绝对素数——一个素数当它的数字位
置对换后仍为素数,这样的数称之为绝对素数。现编程实现:输入一
个整数,如果为奇数,找出不超过1000的回文素数和不超过100的绝
对素数。如果为10-20之间的偶数,将其分解为两个素数之和
*/
#include
void main(void)
{
int prime(int);
int n,i;
printf("输入一个数n: ");
scanf("%d",&n);
if(n%2)
{
for(i=100;i<1000;i++)
if(prime(i)&&prime(i%10*100+((i/10)%10)*10+i/100))
printf("%6d ",i);
}
else if((n>=10)&&(n<=20))
for(i=2;i<=n/2;i++)
if(prime(i)&&prime(n-i))
printf("%8d=%8d+%8d\n",n,i,n-i);
return;
}
int prime(int n)
{
int i;
for(i=2;i
评论
0
0
0
加载更多
百度网友6c5eac102
推荐于2018-04-10 · TA获得超过1101个赞
知道小有建树答主
回答量:464
采纳率:0%
帮助的人:582万
展开全部
//在vc++6.0下通过,一位数不是回文数,我从11开始判断的,
#include "stdio.h"
int sushu(int n)
{
int t=0,i;
for(i=1;i<=n;i++)
if(n%i==0)
t++;
if(t==2)
return 1;
else
return 0;
}
int huiwen(int n)
{
if(n>99)
return n%10==n/100;
else
return n%10==n/10;
}
void main()
{
int i;
for(i=11;i<1000;i++)
if(sushu(i)&&huiwen(i))
printf("%d ",i);printf("\n");
}
本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
倨傲的王者369
2019-05-15 · TA获得超过3.6万个赞
知道大有可为答主
回答量:1.2万
采纳率:25%
帮助的人:1072万
展开全部
/*写出来来,程序还可以了~!~!
希望你继续加油,一定把程序弄明白!~!~!~!*/
#include
#include
#include
#include
int
func(int
x)
{
int
a1,a2,a3;
a1=x%10;
//得到个位,变成百位
a2=(x/10)%10;
//得到十位,变成十位
a3=(x/100);
//得到百位,变成个位
return
(a1*100+a2*10+a3);
/*a1百位,a2十位,a3个位
a1*100+a2*10+a3
*/
}
int
main()
{
int
i,j,s=0;
for(i=100;i<1000;i++)
{
if(i==func(123))
//判断是否是回文数
{
for(j=2;j
评论
0
0
0
加载更多
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
z85525006
2010-05-06 · TA获得超过1003个赞
知道小有建树答主
回答量:672
采纳率:0%
帮助的人:566万
展开全部
/*写出来来,程序还可以了~!~! 希望你继续加油,一定把程序弄明白!~!~!~!*/

#include <stdio.h>
#include <math.h>
#include <stdlib.h>
#include <conio.h>

int func(int x)
{
int a1,a2,a3;
a1=x%10; //得到个位,变成百位
a2=(x/10)%10; //得到十位,变成十位
a3=(x/100); //得到百位,变成个位
return (a1*100+a2*10+a3); /*a1百位,a2十位,a3个位 a1*100+a2*10+a3 */
}

int main()
{
int i,j,s=0;

for(i=100;i<1000;i++)
{

if(i==func(123)) //判断是否是回文数
{

for(j=2;j<i;j++)
{
if(i%j==0) break;
else s=1;
}
if(s)
{
printf("回文素数: %d \n",i);
}
}
}
getch();
return 0;
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
nullai
2010-05-06 · TA获得超过117个赞
知道小有建树答主
回答量:134
采纳率:0%
帮助的人:214万
展开全部
#include "stdio.h"

bool isHuiWei(int x);
bool isShuShu(int x);

void main()
{
for(int i=1;i<1000;i+=2)
{
if(isHuiWei(i)&&isShuShu(i))
{
printf("%d 是回文素数\n",i);
}
}
}

//计算x是否为回文数
bool isHuiWei(int x)
{
char s[10];
itoa(x,s,10);
int n=strlen(s);
for(int i=0;i<n/2;i++)
{
if(s[i]!=s[n-i-1])
return false;
}
return true;
}

//计算x是否为素数
bool isShuShu(int x)
{
for(int i=2;i<x/2;i++)
if(x%i==0)
return false;
return true;
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(4)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式