1-11-4 - 特殊三位数(参考精华版)

来源:互联网 发布:o2o源码 编辑:程序博客网 时间:2024/06/12 21:06

问题及代码:

/** Copyright (c) 2014, 烟台大学计算机与控制工程学院* All rights reserved.* 文件名称:main.cpp* 作    者:何小乐* 完成日期:2014年 11 月 6 日* 版 本 号:v1.0** 问题描述:列出符合条件的三位数* 输入描述:若干个整数* 程序输出:特殊三位数*/#include <iostream>using namespace std;int main(){    long fac (int);    int a,b,c,x,n;    for (x=100; x<=999; x++) //穷举法列出n的所有可能    {        a = x/100; //a、b、c分别求得x的百、十、个位        b = (x/10)%10;        c = x%10;        n = fac(a)+fac(b)+fac(c);        if (n==x)            cout<<n<<'\t';    }    return 0;}long fac (int m)  //利用递归函数写出阶乘算法{    int y;    if (m==0||m==1)        y=1;    else        y = fac (m-1)*m;    return y;}


 

运行结果:

学习小结:

除了fac函数以外,其他的基本上都是邵帅的代码,我感觉他写的程序就很清晰易懂:

1,构造穷举法,他只用了一个循环

2,处理问题的思路不错

3,在求百十个位数的算法也用的比我好

0 0
原创粉丝点击