Python123第四章答案(自写,仅供参考) By:肇院伟烨
前言 1、代码自己写的,不是标准答案,仅供参考。 2。建议看懂后自己另外写而不是复制粘贴。 3、点击目录可以转跳 文章目录- 前言
- 1、代码自己写的,不是标准答案,仅供参考。
- 2。建议看懂后自己另外写而不是复制粘贴。
- 3、点击目录可以转跳
- 第四章
- 第1题
- 第2题
- 第3题
- 第4题
- 第5题
- 第6题
- 第7题
- 第8题
- 第9题
- 第10题
- 第11题
- 第12题
- 第13题
- 第14题
- 第15题
- 第16题
- 第17题
- 第18题
- 第19题
- 第20题
- 第21题
- 第22题
- 第23题
- 第24题
- 第25题
- 第26题
- 第27题
- 第28题
#include第2题int main() { int N,i; double sum=0,fen=1; scanf("%d",&N); for (i = 1;i <= N;i++) { sum=sum+(1.0/fen); fen = fen + 2; } printf("sum = %.6f", sum); return 0; }
#include第3题#include int main() { int N,i; double sum=0; scanf("%d",&N); for(i=1;i<=N;i++) { sum=sum+sqrt(i); } printf("sum = %.2lf",sum); return 0; }
#include第4题int main() { double eps, js,sum=0; int i=1,fu=1; scanf("%lf",&eps); if(eps==1) sum=0.75; else { do { js = 1.0 / i; i += 3; sum += fu*js; fu = -fu; } while(js > eps); } printf("sum = %.6lf", sum); return 0; }
#includeint main() { int num, x1=1, x2=1, x=0, count=3; scanf("%d", &num); if(num==1) { printf("1"); } else{ x=x1+x2; while(x 第5题 #include第6题int main() { int n, i, a, min; scanf("%d", &n); for ( i = 1; i<= n; i++) { scanf("%d", &a); if (a < min) min = a; } printf("min = %d",min); return 0; } #include第7题int main() { int n,h,i,a,b,x,y; scanf("%d", &n); h = (n + 1) / 2; x= n - 1; y = 1; for (i = 1; i <= n; i++) { if (i < h) { for (a = 1; a <= x; a++) printf(" "); for (b = 1; b <= y; b++) printf("* "); x -= 2; y += 2; printf("n"); } else if (i == h) { for (b = 1; b <= n; b++) printf("* "); printf("n"); x += 2; y -= 2; } else { for (a = 1; a <= x; a++) printf(" "); for (b = 1; b <= y; b++) printf("* "); x += 2; y -= 2; printf("n"); } } return 0; } #includeint main() { long long i,n,sum=1; scanf("%lld", &n); for (i = 1; i 第8题 #include第9题int main() { double i,h,n,sum; scanf("%lf%lf", &h, &n); sum = h; for ( i = 1; i <=n-1; i++) { h /= 2; sum += 2 * h; } printf("%.1lf %.1lf", sum, h/2); return 0; } #include第10题int main() { int m, n, max, i, gys, gbs; scanf("%d%d", &m, &n); max=m>n?m:n; for (i = 1; i <= max; i++) { if (m % i == 0 && n % i == 0) gys = i; } for (i = max;;i++) { if (i % m == 0 && i % n == 0) { gbs = i; break; } } printf("%d %d", gys,gbs); return 0; } #include第11题#include int js(int n ,int sz); int main() { int n, i, a, b,result; scanf("%d", &n); a = pow(10, n - 1); b = pow(10, n); for (i = a; i < b; i++) { result = js(n, i); if (result == i) printf("%dn", result); } return 0; } int js(int n,int sz) { int j, w, sum = 0; for (j = n; j >= 1; j--) { w = sz % 10; sz = sz / 10; sum += pow(w,n); } return sum; } #include第12题int main() { int n, c5, c2, c1, cs = 0; scanf("%d", &n); for (c5 = n / 5; c5 > 0; c5--) for (c2 = n / 2; c2 > 0; c2--) for (c1 = n; c1 > 0; c1--) if (c5 * 5 + c2 * 2 + c1 == n) { printf("fen5:%d, fen2:%d, fen1:%d, total:%dn", c5, c2, c1, c5 + c2 + c1); cs++; } printf("count = %d", cs); return 0; } #include第13题#include int main() { int a,n,i,j=0,js,sum=0; scanf("%d%d",&a,&n); for (i = 1; i<=n; i++) { for (j = 0; j <= i - 1; j++) { js = a * pow(10, j); sum += js; } } printf("s = %d", sum); return 0; } #include第14题#include double fact(int n); int main() { double x,i=0,js=1,n,sum=0; scanf("%lf", &x); while(js> 0.00001) { js = pow(x, i) / fact(i); sum += js; i++; } printf("%.4lf", sum); return 0; } double fact(int n) { if (n <= 0) return 1; else return n * fact(n - 1); } #include第15题int main() { int n=0,sum = 0; while(1) { scanf("%d", &n); if (n <= 0) break; if (n % 2 != 0) sum += n; } printf("%d", sum); return 0; } #include第16题int main() { double edg, js,sum=0; int i=1,fu=1; scanf("%lf",&edg); if(edg==1) sum=0.75; else { do { js = 1.0 / i; i += 3; sum += fu*js; fu = -fu; } while(js > edg); } printf("sum = %.6lf", sum); return 0; } #include第17题int main() { int number, x, n,i=0; scanf("%d%d", &number, &n); while (1) { i++; scanf("%d", &x); if (x< 0||i > n) { printf("Game Overn"); break; } if(x < number) printf("Too smalln"); else if(x > number) printf("Too bign"); else if(x == number) { if(i==1) printf("Bingo!n"); else if(i<= 3) printf("Lucky You!"); else printf("Good Guess!"); break; } } return 0; } #include第18题int main() { int n,i; double s=1.0,a=1; scanf("%d",&n); for(i=1;i<=n;i++) { a=a*i; s=s+1.0/a; } printf("%.8f",s); return 0; } #include第19题int main() { int n, i, a, min; scanf("%d", &n); scanf("%d", &a); min=a; for ( i = 1; i< n; i++) { scanf("%d", &a); if (a < min) min = a; } printf("min = %d",min); return 0; } #includeint main() { int m,n,i,x=0,sum=0; scanf("%d%d",&m,&n); for(;m<=n;m++) { for(i=2;i 第20题 #include第21题long long fact(int n); int main() { int i; long long sum = 0; for (i = 1; i <= 20; i++) { sum += fact(i); } printf("%lld", sum); return 0; } long long fact(int n) { if (n <= 1) return 1; return n * fact(n - 1); } #include第22题int main() { int i; double sum = 0; for (i = 1; i <= 100; i++) sum += i; for (i = 1; i <= 50; i++) sum += i * i; for ( i = 1; i <= 10; i++) { sum += 1.0 / i; } printf("%lf", sum); return 0; } #include第23题#include int main() { double a, x, sum, xn1, xn2; scanf("%lf", &a); x = sqrt(a); do { xn1 = x; x = 1.0 / 2 * (x + a / x); xn2 = x; } while (xn1 - xn2 > pow(10, -5)); printf("%lf", xn2); return 0; } #include第24题int main() { int m, n, max, i, gys, gbs; scanf("%d%d", &m, &n); if (m < n) max = n; else max = m; for (i = 1; i <= m; i++) { if (m % i == 0 && n % i == 0) { gys = i; } } for (i = m;; i++) { if (i % m == 0 && i % n == 0) { gbs = i; break; } } printf("%d %d", gys,gbs); return 0; } #includeint main() { int m,n,i,x=0,sum=0; scanf("%d%d",&m,&n); for(;m<=n;m++) { for(i=2;i 第25题 #include第26题int main() { int n,i=0; scanf("%d", &n); if (n == 0) i = 1; while(n!=0) { n /= 10; i++; } printf("%d", i); return 0; } #include第27题int main() { int m, n, max, i, gys, gbs; scanf("%d%d", &m, &n); if (m < n) max = n; else max = m; for (i = 1; i <= m; i++) { if (m % i == 0 && n % i == 0) { gys = i; } } for (i = m;; i++) { if (i % m == 0 && i % n == 0) { gbs = i; break; } } printf("%d %d", gys,gbs); return 0; } #include第28题double fact(int n); int main() { double edg, js=1,sum=1; int i=1; scanf("%lf", &edg); for(i=1;js>=edg;i++) { js = 1.0 / fact(i); sum += js; } printf("e = %.10lf",sum); return 0; } double fact(int n) { if(n<=1) return 1; return n*fact(n-1); } #includeint main() { int n=0,sum = 0; while(1) { scanf("%d", &n); if (n <= 0) break; if (n % 2 != 0) sum += n; } printf("%d", sum); return 0; }



