C 练习实例83
题目:求0—7所能组成的奇数个数。
程序分析:用1,3,5,7作个位,0不能作最高位。一位数,两位数。。。7位数。
程序源代码:
// Created by www.w3cmap.com on 15/11/9.
// Copyright © 2015年 W3C教程. All rights reserved.
//
#include<stdio.h>
#include<stdlib.h>
int factorial(int a,int b);/*求阶乘*/
int main()
{
int sum=0,i;
sum+=4; /*一位数不能按下面处理,一位数时的奇数有4个*/
for(i=2;i<8;i++)
sum+=4*(factorial(7,i-1)-factorial(6,i-2));
printf("可以组成%d个奇数\n",sum);
return 0;
}
int factorial(int a,int b)
{
int i,sum=1;
if(b<=0)return 1;
for(i=0;i<b;i++)
sum*=(a-i);
return sum;
}
以上实例运行输出结果为:
可以组成29692个奇数
C 语言经典100例