一、问题及代码
/*
* 文件名称:素数和回文
* 作 者: 郑鹏伟
* 完成日期: 2016年6月5日
* 版 本 号:v1.0
* 对任务及求解方法的描述部分:函数、循环、数组。
* 输入描述: 无
* 问题描述: 求素数、回文数、回文素数、可逆素数
* 程序输出:略
* 问题分析:略
* 算法设计:略
*/
#include<iostream>
using namespace std;
int isPrimer(int n)
{ int i;
{for(i=2;i<n;i++)
if(n%i==0)break;}
if(i==n) return 1;
else return 0;
}
int isPalindrome(int n)
{
if(n<10)return 1;
else if(n>=10&&n<100&&n/10==n%10)return 1;
else if(n>100&&n/100==n%10)return 1;
}
int main()
{
int o,p,k=0,j,w,g,l,s,h;
cout<<"300以内所有的素数是:";
for(o=2;o<300;o++)
{
p=isPrimer(o);
if(p==1)
{
cout<<o<<" ";
}
}
cout<<endl<<"300以内所有的回文数是:";
for(o=2;o<300;o++)
{
j=isPalindrome(o);
if(j==1)
{
cout<<o<<" ";
}
}
cout<<endl<<"300以内所有的回文素数是:";
for(o=2;o<300;o++)
{
if(isPalindrome(o)==isPrimer(o))
cout<<o<<" ";
}
cout<<endl<<"300以内的所有可逆素数是:";
for(o=2;o<10;o++)
{ w=isPrimer(o);
if(w==1) cout<<o<<" ";}
for(o=10;o<100;o++)
{l=o/10;g=o%10;
h=g*10+l;
if(isPrimer(o)==isPrimer(h)&&isPrimer(o)==1) cout<<o<<" ";
}
for(o=100;o<300;o++)
{
s=o/100;
l=o/10-s*10;
g=o%10;
h=g*100+l*10+s;
if(isPrimer(o)==isPrimer(h)&&isPrimer(o)==1) cout<<o<<" ";
}
}
二、运行程序
三、知识点总结
函数的传值调用和引用
四、心得体会
感觉还不太会用,还要好好学习啊 。