一个C程序 我觉得自己写它好难啊 注释那行是最后分析后加上的 费了我一个小时
2011-02-24 18:56
295 查看
// 求所有阶乘和数
#include <stdio.h>
int main()
{
long jc(int x)
{
int i;
long t=1;
for(i=1;i<=x;i++)
t*=i;
return t;
}
int a,b,c,d,e,f,g,m,n;
printf("所有的阶乘和数有:");
for(a=0;a<=9;a++)
for(b=0;b<=9;b++)
for(c=0;c<=9;c++)
for(d=0;d<=9;d++)
for(e=0;e<=9;e++)
for(f=0;f<=9;f++)
for(g=1;g<=9;g++)
{
m=1000000*a+100000*b+10000*c+1000*d+100*e+10*f+g;
n=jc(a)+jc(b)+jc(c)+jc(d)+jc(e)+jc(f)+jc(g);
if(!a)
{
if(!b)
{
if(!c)
{
if(!d)
{
if(!e)
{
if(!f)
n--;
//n--;
}
n--;
}
n--;
}
n--;
}
n--;
}
if(m==n)
printf("%d ",m);
}
return 0;
}
#include <stdio.h>
int main()
{
long jc(int x)
{
int i;
long t=1;
for(i=1;i<=x;i++)
t*=i;
return t;
}
int a,b,c,d,e,f,g,m,n;
printf("所有的阶乘和数有:");
for(a=0;a<=9;a++)
for(b=0;b<=9;b++)
for(c=0;c<=9;c++)
for(d=0;d<=9;d++)
for(e=0;e<=9;e++)
for(f=0;f<=9;f++)
for(g=1;g<=9;g++)
{
m=1000000*a+100000*b+10000*c+1000*d+100*e+10*f+g;
n=jc(a)+jc(b)+jc(c)+jc(d)+jc(e)+jc(f)+jc(g);
if(!a)
{
if(!b)
{
if(!c)
{
if(!d)
{
if(!e)
{
if(!f)
n--;
//n--;
}
n--;
}
n--;
}
n--;
}
n--;
}
if(m==n)
printf("%d ",m);
}
return 0;
}
相关文章推荐
- 对于一颗完全二叉树,要求给所有节点加上一个pNext指针,指向同一层的相邻节点;如果当前节点已经是该层的最后一个节点,则将pNext指针指向NULL;给出程序实现,并分析时间复杂度和空间复杂度。
- 写了一个自己都觉得陌生的程序
- 自己写的一个解析运算式并得到结果的方法(最后是以Double型表示,中间是以BigDecimal计算中间结果的,临时起意写的,没有注释)
- 对于一颗完全二叉树,要求给所有节点加上一个pNext指针,指向同一层的相邻节点;如果当前节点已经是该层的最后一个节点,则将pNext指针指向NULL;给出程序实现,并分析时间复杂度和空间复杂度。
- 对于一颗完全二叉树,要求给所有节点加上一个pNext指针,指向同一层的相邻节点;如果当前节点已经是该层的最后一个节点,则将pNext指针指向NULL;给出程序实现,并分析时间复杂度和空间复杂度。
- 用进程相关API函数编程一个程序,使之产生一个进程扇,父进程产生一系列子进程,每个子进程打印自己的PID然后退出。要求父进程最后打印PID
- 关于派生类的构造的——一个程序的分析(钱能c++ P353),加上了析构函数
- 关于派生类的构造的——一个程序的分析(钱能c++ P353),加上了析构函数
- 自己写的一个除法小程序
- 将文本文件中的数据读取到一个二维数组中,求出这些数据的中位数,然后求所有数据与中位数的差值的绝对值和,并求出和的最小值,最后把程序运行的结果写到一个txt文件中
- ROS的初步学习(五)--自己写一个简单的发布(Publisher)、订阅(Subscriber)程序
- C语言 编写一个程序,从标准输入读取几行输入。每行输入都要打印到标准输出上,前面加上行号。在编写这个程序的时候要使这个程序能够处理的输入行的长度没有限制
- 摘要:我们经常会用到递归函数,但是如果递归深度太大时,往往导致栈溢出。而递归深度往往不太容易把握,所以比较安全一点的做法就是:用循环代替递归。文章最后的原文里面讲了如何用10步实现这个过程,相当精彩。本文翻译了这篇文章,并加了自己的一点注释和理解。
- 支付宝小程序你什么时候需要自己开发?4大维度详细分析支付宝,微信小程序区别
- Linux内核分析课程--通过反汇编一个简单的c程序,分析汇编代码并理解计算机如何工作的
- 自己主动化測试程序之中的一个自己定义键盘的模拟測试程序(C语言)
- 一个自动更新自己的程序(z)
- Chuckie Lucky 赢了100万美元,他把它存入一个每年赢得8%的帐户。在每年的最后一天,Chuckie取出 10万美元。编写一个程序,计算需要多少年Chuckie就会清空他的帐户。
- 分析HTML,并将结果存到一个数组中。看看里面的注释吧。:)
- 用移位运算实现一个整数二进制形式的输出--简短程序分析