c++作业7
来源:互联网 发布:南航网络教学平台 编辑:程序博客网 时间:2024/06/06 04:45
项目3:特殊三位数:输出满足条件n=a!+b!+c!的所有三位数n,其中,a、b、c分别是n的百、十、个位数。要求用自定义函数实现求阶乘。
#include<iostream> using namespace std; int fact(int); int main() { int cba,c,b,a,sum; cba=100; while(cba<1000) { a=cba%10; b=(cba/10)%10; c=cba/100; sum=fact(a)+fact(b)+fact(c); if(sum==cba) cout<<cba<<" "; ++cba; } return 0; } int fact(int k) { int l, f=1; for(l=1; l<=k; ++l) f=f*l; return f; }
二、项目1:素数和回文:编制2个返回值为int型的函数,用于判断参数是否为素数和回文,调用函数回答以下问题
(1)输出300以内的所有素数。
(2)输出300以内的所有回文数。
(3)输出300以内的所有回文素数。
(4)若一个素数的反序数仍为素数,则称它为可逆素数。求300以内的所有可逆素数。
#include<iostream> #include<cmath> using namespace std; bool isPalindrome(int);int reverse(int); bool isPrime(int); int main() { int m; cout<<"(1)输出300以内的所有素数"<<endl; for(m=2;m<300;++m) { if(isPrime(m)) cout<<m<<'\t'; } cout<<endl<<endl; cout<<"(2)输出300以内的所有回文数"<<endl; for(m=2;m<300;++m) { if(isPalindrome(m)) cout<<m<<'\t'; } cout<<endl<<endl; cout<<"(3)输出300以内的所有回文素数"<<endl; for(m=2;m<300;++m) { if(isPalindrome(m)&&isPrime(m)) cout<<m<<'\t'; } cout<<endl<<endl; cout<<"(4)求300以内的所有可逆素数"<<endl; for(m=2;m<300;++m) { if(isPrime(m)&&isPrime(reverse(m))) cout<<m<<'\t'; } return 0; } bool isPrime(int n) { bool prime=true; int k=int(sqrt(n)); for(int i=2;i<=k;i++) { if(n%i==0) { prime=false; break; } } return prime; } bool isPalindrome(int n) { bool palindrome=false; if(reverse(n)==n) palindrome=true; return palindrome; } int reverse(int x) { int m=0; while(x>0) { m=m*10+x%10; x=x/10; } return m; }
0 0
- c++--作业7
- 作业7C 语言
- c++作业7
- c 作业
- c作业
- C作业
- c作业
- c作业
- c作业
- c作业
- c作业
- C语言作业-7-1多项式加法
- C语言作业-7-2鞍点
- 22017/12/7C语言作业
- 【C语言】【unix c】作业 前台作业和后台作业
- 作业:C++作业7
- C语言期中作业
- C语言期末作业
- C++第七次-特殊三位数
- using namespace std 说明
- Python 的 Magic Methods 指南(转)
- 嵌入式Linux应用程序访问物理地址的实例
- 使用 C# 获取当前用户的SID
- c++作业7
- Hadoop-2.4.1源码分析--由HDFS心跳检测想到的Keepalived
- c++第七次作业
- Codeforces 300A:Array(易错)
- Android MVP 架构模式详解
- EventBus3.0使用初体验
- sudo apt-get update时遇到以下问题
- C++第七次作业
- 《Vim Pratical》学习笔记