c++第1次实验
2016-03-14 17:03
295 查看
/*
* 文件名称:判断素数,回文数,可逆素数,回文素数
* 作 者: 王水彪
* 完成日期: 2016 年 3 月 14 日
* 版 本 号:v1.0
* 对任务及求解方法的描述部分:
* 输入描述: 无
* 问题描述:
(1)输出100以内的所有素数。
(2)输出100以内的所有回文数。
(3)输出100以内的所有回文素数。
(4)若一个素数的反序数仍为素数,则称它为可逆素数。求100以内的所有可逆素数。
* 程序输出: 略
* 问题分析: 调用函数
* 算法设计:
*/
一、问题及代码
#include<iostream>
using namespace std;
int isPrimer(int n);
int isPalindrome(int n);
int kenisushu(int n);
int main()
{
int n;
for(n=2;n<=100;n++)
{
if(isPrimer(n)!=0)
cout<<n<<" ";
}
cout<<endl;
for(n=1;n<=100;n++)
{
if(isPalindrome(n)!=0)
cout<<n<<" ";
}
cout<<endl;
for(n=2;n<=100;n++)
{
if(isPrimer(n)&&isPalindrome(n))
cout<<n<<" ";
}
cout<<endl;
for(n=2;n<=100;n++)
{
if(kenisushu(n))
cout<<n<<" ";
}
return 0;
}
//定义函数
int isPrimer(int n)//判断是否为素数
{
int i;
for(i=2;i<n;i++)
{
if(n%i==0)
return 0;
}
return 1;
}
int isPalindrome(int n) //判断是否为回文
{
int i;
int sum=0;
i=n;
while(n)
{
sum=sum*10+n%10;
n/=10;
}
if(i==sum)
return 1;
else
return 0;
}
int kenisushu(int n)//判断是否为可逆素数
{
int i;
int sum=0;
i=n;
while(n)
{
sum=sum*10+n%10;
n/=10;
}
if(isPrimer(sum)&&isPrimer(i))
return 1;
else
return 0;
}
二、运行结果:
三、心得体会:对调用函数感觉有些生疏,并且还有一些问题,经过查询的询问后才最终做出来。
四、知识点总结:这道题主要就是要用调用函数来解决问题,这样将会方便很多,并且省时省力。
* 文件名称:判断素数,回文数,可逆素数,回文素数
* 作 者: 王水彪
* 完成日期: 2016 年 3 月 14 日
* 版 本 号:v1.0
* 对任务及求解方法的描述部分:
* 输入描述: 无
* 问题描述:
(1)输出100以内的所有素数。
(2)输出100以内的所有回文数。
(3)输出100以内的所有回文素数。
(4)若一个素数的反序数仍为素数,则称它为可逆素数。求100以内的所有可逆素数。
* 程序输出: 略
* 问题分析: 调用函数
* 算法设计:
*/
一、问题及代码
#include<iostream>
using namespace std;
int isPrimer(int n);
int isPalindrome(int n);
int kenisushu(int n);
int main()
{
int n;
for(n=2;n<=100;n++)
{
if(isPrimer(n)!=0)
cout<<n<<" ";
}
cout<<endl;
for(n=1;n<=100;n++)
{
if(isPalindrome(n)!=0)
cout<<n<<" ";
}
cout<<endl;
for(n=2;n<=100;n++)
{
if(isPrimer(n)&&isPalindrome(n))
cout<<n<<" ";
}
cout<<endl;
for(n=2;n<=100;n++)
{
if(kenisushu(n))
cout<<n<<" ";
}
return 0;
}
//定义函数
int isPrimer(int n)//判断是否为素数
{
int i;
for(i=2;i<n;i++)
{
if(n%i==0)
return 0;
}
return 1;
}
int isPalindrome(int n) //判断是否为回文
{
int i;
int sum=0;
i=n;
while(n)
{
sum=sum*10+n%10;
n/=10;
}
if(i==sum)
return 1;
else
return 0;
}
int kenisushu(int n)//判断是否为可逆素数
{
int i;
int sum=0;
i=n;
while(n)
{
sum=sum*10+n%10;
n/=10;
}
if(isPrimer(sum)&&isPrimer(i))
return 1;
else
return 0;
}
二、运行结果:
三、心得体会:对调用函数感觉有些生疏,并且还有一些问题,经过查询的询问后才最终做出来。
四、知识点总结:这道题主要就是要用调用函数来解决问题,这样将会方便很多,并且省时省力。
相关文章推荐
- C++ stringstream 的用法以及getline的用法
- c++第一次实验-2
- 学习C语言库函数
- C++第二次上机实验1
- c语言time
- 深入解析C++的循环链表与双向链表设计的API实现
- c语言 enum 定义里面,末尾的逗号
- C++类继承详解(一)
- C++11 智能指针
- C++第一次实验+1
- C++中输入输出流运算符的重载
- 解析C++的线性表链式存储设计与相关的API实现
- 【C++探索之旅】第一部分第十一课:小游戏,猜单词
- C++泛型算法
- 【C++探索之旅】第一部分第十一课:小游戏,猜单词
- 我的C语言之路1
- c++中acos,asin,atan的范围
- C 语言基础(二)
- C语言中sizeof求结构体大小(让你真正了解结构体成员在内存中的分布情况)
- C++静态