求用C语言求1000以内的回文素数,要在Visual C++6.0的环境里运行,谢谢啦
6个回答
展开全部
/*
回文素数——指对一个素数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
加载更多
回文素数——指对一个素数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
加载更多
展开全部
//在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");
}
#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");
}
本回答被提问者和网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
/*写出来来,程序还可以了~!~!
希望你继续加油,一定把程序弄明白!~!~!~!*/
#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
加载更多
希望你继续加油,一定把程序弄明白!~!~!~!*/
#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
加载更多
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
/*写出来来,程序还可以了~!~! 希望你继续加油,一定把程序弄明白!~!~!~!*/
#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;
}
#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;
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
#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;
}
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;
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询