news 2026/4/23 11:47:57

第一、二、三章 习题总结

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
第一、二、三章 习题总结

习题 2-6(P35)

用1,2,3,···,9 组成3个三位数 abc , def 和 ghi ,每个数字恰好使用一次,要求 abc : def : ghi = 1:2:3 。按照“abc def ghi”的格式输出所有解,每行一个解。

由题意知,abc必定小于333,大于123 。可用for循环遍历。

#include <bits/stdc++.h> using namespace std; int main(){ for(int abc = 123;abc < 333;abc++){ int def = 2*abc,ghi = 3*abc; bool use[10]; memset(use,0,sizeof(use));//数组初始化为false bool value = true;//标记数字是否有效 int x = abc;//检查abc while(x > 0){ int t = x%10; if(t == 0 || use[t]){value = false;break;}//数字为0或数字已使用:数字无效 use[t] = true;//标记已使用 x /= 10; } if(!value) continue;//数字无效,进入下一个 for 循环 int y = def;//检查def while(y > 0){ int t = y%10; if(t == 0 || use[t]){value = false;break;}//数字为0或数字已使用:数字无效 use[t] = true;//标记已使用 y /= 10; } if(!value) continue;//数字无效,进入下一个 for 循环 int z = ghi;//检查zghi while(z > 0){ int t = z%10; if(t == 0 || use[t]){value = false;break;}//数字为0或数字已使用:数字无效 use[t] = true;//标记已使用 z /= 10; } if(value) cout << abc << ' ' << def << ' ' << ghi << endl;//检查全部通过,输出结果 } return 0; }

习题3-4(P57)
如果一个字符串可以由某个长度为k的字符串重复多次得到,则称该串以k为周期。例
如,abcabcabcabe以3为周期(注意,它也以6和12为周期)。
输入一个长度不超过80的字符串,输出其最小周期。

1.遍历k从1到n;2.若n%k== 0,将s分割为m=n/k段,判断是否全部相等。3.第一个满足条件的k即为最小周期。

#include <bits/stdc++.h> using namespace std; int main(){ string s; while(getline(cin,s)){ if(s.empty()) break; int n = s.size(); for(int k = 1;k <= n;k++){ if(n%k == 0){ bool prime = true;//判断是否周期 for(int i = k;i < n;i++){ if(s[i] != s[i%k]){prime = false;break;}//子串第i个是否与第i个相等 } if(prime){cout << k << endl;break;}//输出 } } } return 0; }

习题3-8(P59)

输入整数a和b(0 <= a <= 3000,1 <= b <= 3000),输出a/b的循环小数表示以及循环节长度。例如a=5,b=43,小数表示为0.(116279069767441860465),循环节长度为21。

#include <bits/stdc++.h> using namespace std; int main(){ int a,b; cin >> a >> b; if(a == 0){cout << "0.0" << endl << "0" << endl;return 0;} int q = a/b,r = a%b; if(r == 0){cout << q << ".0" << endl << "0" << endl;return 0;} map<int ,int> pos; vector<int> digits; int p = 0,start = -1; while(r){ if(pos.count(r)){start = pos[r];break;} pos[r] = p++; r *= 10; digits.push_back(r/b); r %= b; } string res = to_string(q) + "."; for(int i = 0;i < digits.size();i++){ if(i == start) res += "("; res += to_string(digits[i]); } if(start != -1) res += ")"; int len = (start == -1) ? 0 : p - start; cout << res << endl << len <<endl; return 0; }
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/23 11:47:44

什么是LED驱动?

LED 驱动芯片&#xff08;LED Driver IC&#xff09;是现代照明和显示系统中的核心部件。简单来说&#xff0c;它的作用是将不稳定的电源电压&#xff08;如电池或市电整流后的电压&#xff09;转换为 LED 所需的恒定电流。以下是关于 LED 驱动芯片的功能、选型参数及拓扑结构的…

作者头像 李华
网站建设 2026/4/18 9:17:43

Python 实现生成式 AI 模型的部署与优化

友友们好! 我是Echo_Wish,我的的新专栏《Python进阶》以及《Python!实战!》正式启动啦!这是专为那些渴望提升Python技能的朋友们量身打造的专栏,无论你是已经有一定基础的开发者,还是希望深入挖掘Python潜力的爱好者,这里都将是你不可错过的宝藏。 在这个专栏中,你将会…

作者头像 李华
网站建设 2026/4/22 2:00:05

AI×医学影像:从像素到诊断洞察的落地之路

AI医学影像:从像素到诊断洞察的落地之路 如何用 AI 做生物医学图像处理 作者|Echo_Wish 一、引子:医学图像处理不是图像“修修图”,而是救命 说在前面一句很接地气也很真诚的话: 医学图像处理,是帮助医生更快、更准、更稳地发现病灶。不是炫酷大片特效。 你别看 CT、M…

作者头像 李华
网站建设 2026/4/20 7:36:32

vscode的.vscode文件记录

tasks.json&#xff1a;控制如何编译你的代码&#xff08;加 -I参数&#xff09; launch.json&#xff1a;控制如何调试你的代码&#xff08;指定调试器路径&#xff09;launch.json文件{"version": "0.2.0","configurations": [{"name&quo…

作者头像 李华
网站建设 2026/4/22 9:59:20

交通仿真软件:VISSIM_(21).交通仿真优化方法

交通仿真优化方法 1. 交通仿真模型的优化 交通仿真模型的优化是提高仿真结果准确性和可靠性的关键步骤。在VISSIM中&#xff0c;可以通过多种方法对仿真模型进行优化&#xff0c;包括调整仿真参数、优化交通流模型、改进路网设计和调整驾驶员行为参数等。本节将详细介绍这些优…

作者头像 李华
网站建设 2026/4/15 14:51:53

《跨越异构鸿沟:Python与WebAssembly集成的ABI核心挑战深度解析》

Python的动态类型特质与WebAssembly的静态二进制本质,在系统接口层面形成了天然的张力,而ABI作为两者沟通的底层桥梁,其挑战远非简单的接口适配所能概括。在边缘计算与无服务器场景的实践中,这种张力尤为明显:Python依赖的动态类型推断、垃圾回收机制,与WebAssembly的线性…

作者头像 李华