一、问题及代码:
/*
* 文件名称:111.cpp
* 作 者:李锐
* 完成日期:2016 年 3 月 12日
* 版 本 号:v1.0
* 对任务及求解方法的描述部分:
* 输入描述:无
* 问题描述:要求输出100内的素数、回文数、回文素数和可逆素数。
* 程序输出:略
* 问题分析:略
* 算法设计:略
*/
#include<iostream.h>
void main()
{
int sushu(int a);
int huiwen(int a);
int huisu(int a);
int keni(int a);
int a;
cout<<"输出100以内的素数:"<<endl;
for(a=1;a<=100;a++)
sushu(a);
cout<<endl<<endl;
cout<<"输出100以内的回文数:"<<endl;
for(a=1;a<=100;a++)
huiwen(a);
cout<<endl<<endl;
cout<<"输出100以内的回文素数:";
for(a=1;a<=100;a++)
{
huisu(a);
}
cout<<endl<<endl;
cout<<"输出100以内的可逆素数:"<<endl;
for(a=1;a<=100;a++)
keni(a);
cout<<endl;
}
int sushu(int a)
{
int b,sum=0;
if(a==1||a==2)
cout<<a<<" ";
else
for(b=2;b<a;b++)
{
if(a%b!=0)
sum=sum+1;
if(sum+2==a)
cout<<a<<" ";
}
return 0;
}
int huiwen(int a)
{
int c,d;
if(a<10)
cout<<a<<" ";
else
c=(a/10);
d=a-c*10;
if(c==d)
cout<<a<<" ";
return 0;
}
int huisu(int a)
{
int c,d;
if(a<10)
{
int b,sum=0;
if(a==1||a==2)
cout<<a<<" ";
else
for(b=2;b<a;b++)
{
if(a%b!=0)
sum=sum+1;
if(sum+2==a)
cout<<a<<" ";
}
}
else
c=(a/10);
d=a-c*10;
int b,sum=0;
for(b=2;b<a;b++)
{
if(a%b!=0)
sum=sum+1;
if(sum+2==a&&c==d)
cout<<a<<" ";
}
return 0;
}
int keni(int a)
{
int h;int d;int e;
if(a<10)
{
int b,sum=0;
if(a==1||a==2)
cout<<a<<" ";
else
for(b=2;b<a;b++)
{
if(a%b!=0)
sum=sum+1;
if(sum+2==a)
cout<<a<<" ";
}
}
else
h=(a/10);
d=a-h*10;
e=d*10+h;
int b,sum=0,f=0;
for(b=2;b<a;b++)
{
if(a%b!=0)
sum=sum+1;
}
for(b=2;b<e;b++)
{
if(e%b!=0)
f=f+1;
}
if(sum+2==a&&f+2==e)
cout<<a<<" ";
return 0;
}
二、运行结果:
三、心得体会:
在编写这一个程序题的过程中我遇到了许许多多的困难。但是在学长老师的帮助下,我还是得到了最终的结果。只要不放弃,总会写出来的。
四、知识点总结:
这道程序题包含了函数、循环等方面的知识,对我来说有很多的收获。
本文详细介绍了使用C++编写程序,输出100以内的素数、回文数、回文素数和可逆素数的过程。通过函数、循环等核心概念,展示了如何实现这些数学概念的程序化表达。
1401

被折叠的 条评论
为什么被折叠?



