实验目的:
进一步掌握循环结构的用法。
实验步骤:
1.计算n!(n<10000)的末尾有多少个零。
1.1
分析:
可分二步。第一步求出n!存入变量fac中。第二步判断fac的末尾有多少个零。
测试数据。
变量n的输入值 | 10 | 100 | 10000 |
预期的输出 | 2 | ?(估计好多) | ?(估计好多) |
实验的输出 |
|
|
|
1.2
分析:
没有必要非得求出n!。以10!为例,把每个因数都分解质因数,则有10!=1×2×3×(2×2)×5×(2×3)×7×(2×2×2)×(3×3)×(2×5),显然10!的末尾有2个零,因为分析可知,末尾零的个数只与算式中质因数 的个数相关。只要求出算式中有多少个质因数 ,则阶乘的末尾就有多少个零。
综上所述,可以用穷举法从1至n找出每个因数中所含质因数 个数,其累加和就是n!末尾零的个数。
1.3编程将一个正整数分解质因数。如输入8,则程序输出8=2×2×2;如输入6,则程序输出6=2×3。
2. 输入正整数a(1 a 9)和n的值,编程求出a+aa+……+a……a(最后一个也就是第n个加数由n个a组成)的和。
分析:
重复加,循环变量i从1至n。每次循环中先求出第i项a……a(由i个a组成)存入变量num中,再求和。
for(i=1; i<=n; ++n)
{
//求出第i项存入变量num中。
sum += num;
}
怎样求出第i项呢?
2.1用循环。
num = ;
for(j= ; ; ++j)
num = ;
2.2考虑第i项与第i-1项的关系。
i | ai | ai-1 |
2 | aa | a |
3 | aaa | aa |
ai = ai-1
3.用98测试例5-17中的程序。
4.两个乒乓球队各出三名队员进行三场单打比赛。甲队队员为张三、李四和王五,乙队队员为大毛、二毛和小明。编程用循环输出所有可能的对阵情况。
输出如:
张三-----大毛 李四-----二毛 王五-----小明
张三-----二毛 李四-----大毛 王五-----小明
……
或
张三-----大毛 李四-----二毛 王五-----小明
张三-----大毛 李四-----小明 王五-----二毛
……