C语言基础教程Lesson7.pdf

  1. 1、本文档共9页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
Lesson 7 递推与迭代 Lesson1~7小测验 递推与迭代法 递推与迭代的基本策略是将复杂的运算 划分为可以重复操作的分步递增方式进 行求解的解题方法。 关键在于: 递推公式:据前项计算后项的重复计算公式 边界条件:计算的初值 如:递推公式:n! = n * (n-1)! 循环体 边界条件:0! = 1 初始 int main() { int i,n,f=1; /* 定义变量*/ printf("请输入n的值:\n"); scanf("%d",&n); i = 0; while(i<n) { i++; f = f*i; // f*=i; } printf("\nn! = %d\n", f); /* 输出计算结果 */ return 0; } 例:等比数列前n项求和 通项公式: an=a1• q n-1 Sn=a1+a2 + a3 +a4 + …+an n-1 2 3 … a1q =a1+a1q +a1q +a1q + + 初始值: a1 结束:循环n-1次后 n-1 比率q:ratio 循环体: a1q 项:item 累加 和:sum main( ) { int i; long item, ratio, sum, n; printf( "\nEnter the first item and ratio: " ); scanf( "%ld%ld", &item, &ratio ); printf( "\nEnter the number of items: " ); scanf( "%ld", &n ); sum=item; //第1项 for ( i=1; i<n; i++ ) { item *= ratio; /* 数据项的迭代 */ sum += item; /* 递推公式 */ } printf( "Sum of %d items is %ld\n", n,sum ); } 例:按位分解整数 问题分析 利用整除求余运算实现将整数分解 例如,7326 7326/1000可得到最高位7; 7326%1000可得到余数326; 按此规律继续递推公式。 到个位时结束边界条件。 (需先知整数位数,四位数时,为1000) #include <stdio.h> 开始 main( ) { long x, y, m; 输入整数 printf( "Enter an integer: " ); scanf(

文档评论(0)

qwd513620855 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档