c++第七次上机实验

一:问题及代码

/* 
* 文件名称: 素数与回文 
* 作    者:  钱浩宇 
* 完成日期:     2016 年  6 月 1日  
* 版 本 号:v1.0  
* 对任务及求解方法的描述部分:无 
* 输入描述:  * 
* 问题描述:  
* 程序输出:      
*/  
#include<iostream.h>
 int isprimer(int n)
 {
int a,j;
a=n;
for(j=2;j<n;j++)
if(n%j==0)
{
a++;
}
return a;
 }
 int ispalindrome(int k)
 {
int b,c,e,v,z,s;
if(k<10)
e=1;
if(k>10&&k<100)
{
v=k%10;
z=(k-v)/10;
if(v==z)
e=1;
else e=0;
}
if(k>=100)
{
b=k%10;
c=((k-b)%100)/10;
s=(k/100);
if(b==s)
e=1;
else e=0;
}
return e;
 }
 void main()
 {
int n;
cout<<"300以内素数有:";
for(n=1;n<300;n++)
{
int f=isprimer(n);
if(f==n)
{
cout<<n<<" ";
}
}
cout<<endl;
cout<<"300以内回文数有:";
for(n=0;n<300;n++)
{
int m=ispalindrome(n);
if(m==1)
cout<<n<<" ";
}
cout<<endl;
cout<<"300以内回文素数有:";
for(n=1;n<300;n++)
{
int m=ispalindrome(n);
if(m==1)
{
int w=isprimer(n);
if(w==n)
{
cout<<n<<" ";
}
}
}
cout<<endl;
cout<<"300以内逆素数有:";
for(n=1;n<300;n++)
{
int r=isprimer(n);
if(r==n)
{
int t=n%10;
int y=(n-t)/10;
int u=10*t+y;
int p=isprimer(u);
if(p==u)
cout<<r<<" ";
}
}
 }

二:运行结果

三:心得

需要考虑的全面细致

四:分析

程序较长,要注意细小地方不能出错


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值