程序设计典型例题

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

• S=0 • F=-1 F=• For i=1 to n
F= -1*f S=s+f/i
• Endfor • 注意:符号变量F的初值应由第1项的符号 注意:符号变量F的初值应由第1 决定,本例中代数和的第1项为正, 决定,本例中代数和的第1项为正,因而赋 初值f= 初值f= -1
通过条件判断选择加减操作
• For i=1 to 9
For j=0 to 9 for k=0 to 9 m1=i*100+j*10+k m2=i*i*i+j*j*j+k*k*k if m1=m2 ??m1 endif endfor Endfor
• Endfor
Baidu Nhomakorabea
程序设计典型例题
和积入门
• 求和求积以及和积综合常规求解是计算机 程序设计的基础, 程序设计的基础,也是计算机等级考试与 程序设计竞赛的基本内容
有规律数据求和
• 可以写出它的第i项的通项式F(i),在设置 可以写出它的第i项的通项式F(i),在设置 F(i), 的求和i循环中,使用赋值语句s=s+f(i), 的求和i循环中,使用赋值语句s=s+f(i), f(i)累加到 累加到S 即可简便的实现求和。 把f(i)累加到S中,即可简便的实现求和。 • (1)求:s=1*2*3+3*4*5+ ..+99*100*101 (1)求:s=1*2*3+3*4*5+…..+99*100*101 • 易知f(i)=i*(i+1)*(i+2),i=1,3, .99 易知f(i)=i*(i+1)*(i+2),i=1,3, f(i)=i*(i+1)*(i+2),i=1,3,….99
• • • • •
算法分析: 算法分析: S=1+2+22+23+…..+263 ..+2 T=1 S=1 For i=1 to 63
T=t*2 S=s+t
• Endfor
条件统计
• 求出[100,500]以内同时满足除以7余1,除 求出[100,500]以内同时满足除以7 [100,500]以内同时满足除以 除以3 的整数的个数。 以5余3,除以3余1的整数的个数。 • 算法分析: 算法分析: • 穷举指定区间内的每一个数做条件判别, 穷举指定区间内的每一个数做条件判别, 满足条件则变量n增加1 满足条件则变量n增加1 • 利用求余算法
实数求和
• 求和 整数n从键盘输入 整数n
2 3 4 n+1 S= + + + ... + 1 2 3 n
• 要求精确到小数点后5位 要求精确到小数点后5 • 分析: 分析: • 第i项的通项公式为sqrt(i+1) 项的通项公式为sqrt(i+1) sqrt /i(i=1,2,…,n) /i(i=1,2, ,n)
• • • •
Input to n T=1 S=1 For i=1 to n
T=t*I S=s+1/t
• endfor
自方幂数
• 一个n位正整数如果等于它的n个数字的n次 方和,该数称为n位自方幂数。 • 三位自方幂数又称水仙花数 • 四位 玫瑰花数 • 五位 五角星数 • 六位 六合数
水仙花
• • • • • • • •
Set talk off Set deci to 6 请输入n Input “请输入n:” to n 请输入 S=0 For i=1 to n S=s+sqrt(i+1)/i Endfor s=”+ltrim(str(s,15,5)) ?”s= +ltrim(str(s,15,5)) s=
• • • • • • • •
Input to n S=0 For i=1 to n if mod(I,3)=1 S=s+1/i Else S=sS=s-1/I endif Endfor
积与和积综合求解
• 试求阶乘:n!=1*2*3*…*n (n从键盘输入) • 求e=1+1/1!+1/2!+…+1/n! (n从键盘输入正 整数)
舍罕王的失算
• 相传国际象棋是古印度舍罕王的宰相达依 尔发明的,舍罕王非常喜爱象棋, 尔发明的,舍罕王非常喜爱象棋,决定让 宰相自己选择赏赐,宰相指着8*8 64格的 8*8共 宰相自己选择赏赐,宰相指着8*8共64格的 象棋说, 陛下,请赏赐给我一些麦子吧, 象棋说,“陛下,请赏赐给我一些麦子吧, 就在棋盘的第1格放一粒, 格放2 就在棋盘的第1格放一粒,第2格放2粒,第 格放4 以后每格比前一格增加一倍, 3格放4粒,以后每格比前一格增加一倍, 放完64 64格 我就感激不尽了。 放完64格,我就感激不尽了。”,请问国 王能兑现他的许诺吗? 王能兑现他的许诺吗?
求加减代数和
• 求一组有规律数据作加减符号有规律变化 的代数和,要具体根据符号变化规律, 的代数和,要具体根据符号变化规律,通 过设置符号变量, 过设置符号变量,或对每一项通过条件判 断选择加减操作, 断选择加减操作,以达到所求代数和目的
1设置符号变量实现加减变化
• S=1-1/2+1/3-1/4+ +1/n (n从键盘输入) S=1-1/2+1/3-1/4+…+1/n (n从键盘输入 从键盘输入) • 设置符号变量F,通过语句f=-1*f 实现正负 设置符号变量F,通过语句f=F,通过语句f= 交递变号,以达到加减相间求和。 交递变号,以达到加减相间求和。
• 求:s=1-1/2-1/3+1/4-…1/n (n从键盘输 s=1-1/2-1/3+1/4- 1/n (n从键盘输 入) • 分析: 分析: • 注意到每3项中有一项为加、两项为减,即 注意到每3项中有一项为加、两项为减, 每做一次加后作两次减,通过对循环变量i 每做一次加后作两次减,通过对循环变量i 的余数(mod(i,3)=1时为加操作) (mod(i,3)=1时为加操作 除3的余数(mod(i,3)=1时为加操作) 作为 条件,选择指定的加减操作。 条件,选择指定的加减操作。
相关文档
最新文档