题解:求满足条件n=a!+b!+c!的所有三位数n并输出
2012-03-01 08:04
1211 查看
【题目】求满足条件n=a!+b!+c!的所有三位数n并输出,要求用自定义函数实现求阶乘。
【本讲结构】
(一)题目讲解视频
(二)相关习题
(三)此类题目的共有特征及典型算法
(四)视频中的代码
(五)部分相关习题的参考例程
【正文部分】
(一)题目讲解视频
(二)相关习题(带*的在后面有参考例程)
若一个正整数n的所有小于n的因子之和等于n, 则称n为完全数, 如6=1+2+3是完全数。判断正整数n是否为完全数。
输出1000以内的所有完全数;
输入一个正整数,判断其是否为一个素数;
输出1000以内的所有素数;
输入一个正整数,判断其是否为一个回文数(例1221、12321都是回文数);
输出10000以内的所有回文数;
(*)输出输出10000以内的所有回文素数(提醒:某数是素数后再判断是否也是回文数。);
若一个素数的反序数仍为素数,则称它为可逆素数。求10000以内的所有可逆素数。
求1000000以内的正整数n,要求9n是n的反序数(例如,123是321的反序数)。
(三)此类题目的共有特征及典型算法
此类题目的共有特征是,需要考察一定范围内的数字符合某种特定的条件,从大的框架讲,就需要逐个考察相应范围内的每一个数字。因此,程的顶层结构是:
(五)部分相关习题的参考例程
(*)输出输出10000以内的所有回文素数(提醒:某数是素数后再判断是否也是回文数。);
【本讲结构】
(一)题目讲解视频
(二)相关习题
(三)此类题目的共有特征及典型算法
(四)视频中的代码
(五)部分相关习题的参考例程
【正文部分】
(一)题目讲解视频
(二)相关习题(带*的在后面有参考例程)
若一个正整数n的所有小于n的因子之和等于n, 则称n为完全数, 如6=1+2+3是完全数。判断正整数n是否为完全数。
输出1000以内的所有完全数;
输入一个正整数,判断其是否为一个素数;
输出1000以内的所有素数;
输入一个正整数,判断其是否为一个回文数(例1221、12321都是回文数);
输出10000以内的所有回文数;
(*)输出输出10000以内的所有回文素数(提醒:某数是素数后再判断是否也是回文数。);
若一个素数的反序数仍为素数,则称它为可逆素数。求10000以内的所有可逆素数。
求1000000以内的正整数n,要求9n是n的反序数(例如,123是321的反序数)。
(三)此类题目的共有特征及典型算法
此类题目的共有特征是,需要考察一定范围内的数字符合某种特定的条件,从大的框架讲,就需要逐个考察相应范围内的每一个数字。因此,程的顶层结构是:
for(n=下限;n<=上限;n+=增量) //增量不一定固定为1 { 为构造条件进行相关的计算; if(条件成立) 输出符合要求的结果 }(四)视频中的代码
#include<iostream> using namespace std; int fact(int); int main() { int abc,a,b,c,sum; abc=100; while(abc<1000) { //考察abc是否符合要求 c=abc%10; b=(abc/10)%10; a=abc/100; sum=fact(a)+fact(b)+fact(c); if(sum==abc) cout<<abc<<" "; ++abc; } return 0; } int fact(int n) { int i, f=1; for(i=1;i<=n;++i) f=f*i; return f; }
(五)部分相关习题的参考例程
(*)输出输出10000以内的所有回文素数(提醒:某数是素数后再判断是否也是回文数。);
#include "iostream.h" #include "math.h" void main() { int i,j,s,n; cout<<2<<endl; for(i=3;i<10000;i+=2) { n=int(sqrt(i)); for(j=3;j<=n;j+=2) // 判断i是否为素数 if (i%j==0) break; if (j<=n) continue; // i不是素数 n=i; s=0; while(n) // 求n的反序数s { s=10*s+n%10; // 将上次累加和的10倍与新分离出的位相加 n/=10; // 将n缩小10倍 } if (s==i) cout<<i<<endl; // i与其反序数相等,i是回文数 } }
相关文章推荐
- 求满足条件n=a!+b!+c!的所有三位数n 并输出,要求用自定义函数实现求阶乘(正常版)
- 问题五十三: 求满足条件n=a!+b!+c!的所有三位数n(a,b,c分别是n的百位十位个位)并输出,要求用自定义函数实现求阶乘。
- 输出满足条件n=a!+b!+c!的所有三位数
- 题解:求满足条件n=a!+b!+c!的所有三位数n并输出
- 项目39.2求满足条件n=a!+b!+c!的所有三位数n并输出,其中a,b,c分别为n的百、十、个位数。
- 求满足条件n=a!+b!+c!的所有三位数n 并输出,要求用自定义函数实现求阶乘(穷举法)
- 设a b c均为0到9之间的数字,abc,bcc是两个三位数,且有:abc+bcc=532,求满足条件的所有a,b,c
- 求出千位数上的数加百位数上的数等于十位数上的数加个位数上的数的个数cnt,再把所有满足条件的四位数依次存入数组b中,然后对数组b中的四位数按从大到小的顺序进行排序。
- 对于正整数N,输出其和等于N且满足以下限制条件的所有正整数的和式
- 有这样一些5位数,它的前两位和后两位能被6整除,中间一位也能被6整除,例如12000、12012、12612,编程统计满足条件的数据个数并输出这些数;
- 已知abc+cba = 1333,其中a,b,c均为一位数,编程求出满足条件的a,b,c所有组合。
- 作业 4 函数应用 输出80到120之间的满足给定条件的所有整数,条件为构成该整数的每位数字都相同
- 求满足条件 n=a!+b!+c! 的所有三位数
- 求出所有这些四位数是素数的个数cnt,再把所有满足此条件的四位数依次存入数组b中,然后对数组b中的四位数按从小到大的顺序进行排序
- 编制一个函数jsValue(),求出千位数上的数减百位数上的数减十位数上的数减个位数上的数大于零的个数cnt,再求出所有满足此条件的四位数的平均值pjz1,以及不满足此条件的四位数的平均值pzj2
- 已知abc+cba = 1333,其中a,b,c均为一位数,编程求出满足条件的a,b,c所有组合
- 将一个整数写成两个整数的平方和,如5=1*1+2*2。随机输入几个二位数输出满足条件的整数
- 第十一周项目4-输出满足n=a!+b!+c!的所有三位数
- 5.已知abc+cba = 1333,其中a,b,c均为一位数,编程求出满足条件的a,b,c所有组合。
- 输出满足n=a!+b!+c!的所有三位数