黑马程序员技术交流社区
标题:
大牛,求解答,请问这个能实现求输入数的阶乘么 ?
[打印本页]
作者:
Dream丶boy
时间:
2016-5-6 22:06
标题:
大牛,求解答,请问这个能实现求输入数的阶乘么 ?
#include <stdio.h>
#include <stdlib.h>
int main()
{
/*申请空间*/
int factorial_TB[10];
int n,_i_temp_1,_i_temp_2;
long i,s,_i_temp_sum = 1;
/*初始化值*/
factorial_TB[0] = 0;
_i_temp_sum = 1;
/*先建立0~9的阶层表*/
for(_i_temp_1 = 1;_i_temp_1 < 10; _i_temp_1++){
_i_temp_sum*=_i_temp_1;
factorial_TB[_i_temp_1] = _i_temp_sum;
}
printf("factorial_TB[0~9] IS ");
for(_i_temp_1 = 0;_i_temp_1 < 10; _i_temp_1++){
printf("%d ",factorial_TB[_i_temp_1]);
}
printf("\n");
/*开始找符合条件的数字,边界是if判断*/
for(i = 1;;i++){
_i_temp_sum = 0;
_i_temp_1 = i;
/*求i的数位n和各个数位的阶层和值_i_temp_sum*/
for(n = 0;_i_temp_1 > 0;){
_i_temp_2 = _i_temp_1%10;
_i_temp_1 = _i_temp_1/10;
n++;
_i_temp_sum += factorial_TB[_i_temp_2];
/*提前结束*/
if(_i_temp_sum > i){
continue;
}
}
/*找到目标数字*/
if(i == _i_temp_sum){
printf("\nGet number (%4d) ",i);
}
/*退出条件*/
if(i>n*factorial_TB[9]){
printf("\nEnd number == %d\nshift == %d ",i,n);
break;
}
}
scanf("%d",&s);
//system("pause");
return 0;
}
复制代码
其中 system("pause")是实现什么功能?
作者:
a_skting
时间:
2016-5-6 22:23
好像应该是测试用的暂停。。。。。。
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2