- 9
- 0
- 约7.37千字
- 约 43页
- 2021-01-27 发布于河北
- 举报
【例4.21】求e≈ 的值。 main() {int i,j; double e=1.0,k=1; for(/**/ /**/) {/**/ /**/ } printf(e = %1.10f,e); getch(); } k*=i; e+=1.0/k; i=1;i=20;i++ 1 - * C语言程序设计 1 C语言程序设计 《C语言程序设计》第4章 循环结构程序设计 【例题】输入一个正整数n,把它分解成1及其质因子 相乘的形式。 如: 19=1×19 36=1×2×2×3×3 1024=1×2×2×2×2×2×2×2×2×2×2 分析:本题即找出所有能整除n的数,可以尝试分别用2到n的整 数去除n,如某时刻的值为i,能除尽n则取出此时的数i,再把n 除以i的商作为新的n,但要注意下次尝试的时候还应该用此时的 i去除n(因为如2是8的一个因子,同时也是8/2=4的一个因 子)。如n不能被i整除则用i+1去除n看能否整除,如此反复直到 i的值为n为止。 程序如下: main() {long i, n; printf(Input n: ); scanf(%ld,n); printf(%ld=1,n); for(i=2;i=n;i++) /**/ /**/ getch();} {if(n%i==0) {printf(*%ld,i); n/=i; i--;}} 【例】古典问题:有一对兔子,从出生后第3个月起每个月都生一对 兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不 死,问每个月的兔子总对数为多少?(40个月后) 分析:兔子对数的规律为数列1,1,2,3,5,8,13,21…… ,即 从第三个数开始其值都为前两个数之和。 main() {long m1=1,m2=1;int i; for(i=0;i20;i++) {if(i%2==0) /*目的每输出2组数后加一个回车符*/ printf(\n); printf(%-12ld%-12ld,m1,m2); /**/ /**/ }getch();} m1=m1+m2; m2=m1+m2; 【例】题目:输入两个正整数m和n,求其最大公约数 和最小公倍数。 最大公约数算法也称“辗转相除法”,又称欧几里得算 法 ”, 其算法如下: 1. a ÷ b(a=b),令r为所得余数(0≤r<b) 若 r = 0,算法结束;b 即为答案。 2. 互换:置 a←b,b←r,并返回第一步。 main() {int m=0,n=0,r,t,a,b; scanf(“%d%d”,m,n); a=m;b=n; /**/ /**/ /*实现大数在前小数在后*/ /**/ /**/ /*实现辗转相除算法*/ if(ab) {t=a;a=b;b=t;} r=a%b; while(r) { a=b; b=r; r=a%b;} printf(%d %d greatest common divisor is %d,m,n,b); printf(%d %d lowest common multiple is %ld., m,n,(long)m*n/b); getch(); 【例】从键盘任意输入一个正数n,判断其是不是素数 (因子只有1及其本身,其值大于1的自然数)。 #include math.h main() { int n,i,k; clrscr(); printf(Input n (n=2): ); scanf(%d,n); /**/ /**/ } k=sqrt(n); for(i=2;i=k;i++) { if(n%i==0)break;} if
您可能关注的文档
最近下载
- 三国杀卡牌(全套精装+限量版).pdf VIP
- 22HM001-1 海绵城市建设设计示例(一)上.pdf VIP
- 2026人教版小学数学六年级下册期末考试精选3套试卷(含答案解析).docx
- 2025年中考英语时文阅读 20(学生版+解析版).docx
- 2025年江苏专转本《财经综合基础理论(财会基础)》精编讲义复习备考必备资料.pdf VIP
- G60沪昆高速(浙江段)出入口、服务区、里程数及风景点.docx
- 高考历史蓝皮书 挖掘隐含前提.pptx VIP
- 高考文言文逆袭指南:吃透150词+6大招.docx VIP
- DB1310_T 369-2025 化学分析实验室玻璃仪器使用规.docx VIP
- 款 MAZDA(马自达)3 轿车用户使用手册.pdf VIP
原创力文档

文档评论(0)