- 博客(150)
- 收藏
- 关注
原创 C++ 素数、合数与回文数教程
素数判断的关键是检查是否有除 1 和自身外的因数合数判断可以基于素数判断(n>1 且不是素数)回文数判断通过反转数字并与原数字比较实现这些基本函数可以组合使用,解决更复杂的问题通过练习这些基础算法,可以提高对循环、条件判断等编程概念的理解,也为更复杂的数学问题求解打下基础。编辑分享在判断素数的代码中添加注释除了上述方法,还有哪些判断素数的方法?如何判断一个数是否为回文数?
2025-11-02 11:09:14
416
原创 高质量 C++ 进制转换专题训练
核心方法提炼十进制→N 进制:整数 "除基取余(逆序)",小数 "乘基取整(顺序)"N 进制→十进制:"乘基累加",注意符号和溢出任意进制互转:以十进制为中间桥梁(N→10→M)工程化思考边界处理:0 值、负数、溢出、非法字符性能优化:大数值转换时避免字符串频繁拼接(可先用 vector<char>缓存)扩展场景:64 位整数、浮点数(IEEE 754 标准)、自定义进制符号集。
2025-10-23 20:47:40
809
原创 若将一个正整数化为二进制数,在此二进制数中,我们将数字1的个数多于数字0的个数的这类二进制数称为A类数,否则就称其为B类数。
例如:(13)10=(1101)2其中1的个数为3,0的个数为1,则称此数为A类数其中1的个数为2,0的个数也为2,称此数为B类数其中1的个数为2,0的个数为3,则称此数为B类数。
2025-10-23 20:42:13
309
原创 二进制转十进制
/先对二进制数进行拆分;每次把取出数字乘以相应的位权;//方法:把数位上的数字*位权后相加;//输入一个二进制数;把一个二进制数转换成十进制数。
2025-10-23 20:41:32
79
原创 农场小游戏(farm)
if(dj>=1)cout<<"你有"<<lb<<"个萝卜"<<endl。cout<<"你有"<<djc<<"本低级手册"<<endl。cout<<"你有"<<gjc<<"本高级手册"<<endl。cout<<"你有"<<csc<<"本传说手册"<<endl。cout<<"密码或账号错误/没有账号"<<endl;cout<<"请输入你要修改的账号:"<<endl;cout<<"你的农场是"<<dj<<"级";else cout<<"不够钱"<<endl;cout<<"登录成功"<<endl。
2025-10-16 20:08:04
233
原创 结构体教学
结构体(struct)的核心作用:把多个不同类型的变量 “打包” 成一个新的 “自定义类型”,像用 “模板” 一样批量创建统一格式的数据。普通变量(如int a、string name)只能存储单一类型的数据,但现实中很多事物需要 “多个不同类型数据” 描述:。声明变量后,需要访问它的 “成员”(如 stu1 的 id、name),用点运算符(.) 或箭头运算符(->)。如果是结构体指针,必须用->访问成员(或先解引用*p再用.,但->更简洁):。2. 引用传递(传地址,修改会影响原变量,更高效)。
2025-10-15 21:28:11
484
原创 前缀最值差
给出一组整数,它的前x个数称为它的前缀,前缀最值差指的是:数组前x个数中最大值和最小值的差,这个问题到也难不倒小明。但现在有q个问题询问,要求算出每个问题的前缀最值差。这样工作量就太大了。第一行有一个正整数N,表示给出的这组正整数的个数。第二行有N个正整数ai。第三行有一个正整数q,表示有q个询问。第四行有q个正整数xi,分别表示要求前xi个数中最大值和最小值的差。输出,每个询问的答案。
2025-10-14 21:24:17
248
原创 公交车上乘客数
小明去上学的时候需要乘坐 11 路公交车,假设小明家门口的 11 公交站为起始站,也就是第一站,发车前公交车上没有乘客,小明的学校是 11 路公交车的第 n 站,小明在第一站上车,在第 n站下车。细心的小明记录了11 路公交车停靠每一站时乘客下车的人数,以及在该公交站等待上车的人数,已知公交车的最大载客量为 m,如果公交车上的人数已经达到最大载客量时,则其他人不能再上车了。接下来 n 行,每行以空格隔开的两个非负整数 ai,bi,表示在第 i站下车的人数ai和上车的人数bi。
2025-10-14 21:23:45
316
原创 午饭时间在饭堂排队打饭。一行队伍中有N个人,小明站在队伍中第k个位置,身高高于小明的同学就会挡住小明的视线。请找出队伍中离小明最近且挡住小明视线的人。
第一行有一个正整数N,表示队伍中的人数。第二行有N个正整数ai,依次给出队伍中排队者的身高。第三行有一个正整数k,表示小明在队伍中的位置。输出小明的前面离小明最近且挡住小明视线的人的位置。如果前面没有人挡住小明视线,就输出-1。
2025-10-14 21:23:10
206
原创 核酸检测报告
受疫情影响,佛山辖区内机场、铁路、公路客运站等站场离开佛山的旅客(不含外地中转旅客),须凭“健康码”绿码,并持有72小时内核酸检测阴性证明,方可通行。小明需要前往北京,他拿着手中的机票和核酸检测报告给你查看,请你帮他判断在飞机起飞前,他的核酸检测报告是否有效?
2025-10-14 21:19:25
147
原创 小明正在思考一个数学问题:有一个两位数,它的十位数大于个位数。现已知它的十位数和个位数之和为a,十位数和个位数之差为b,求这个两位数。你知道它是哪个数吗?
小明正在思考一个数学问题:有一个两位数,它的十位数大于个位数。现已知它的十位数和个位数之和为a,十位数和个位数之差为b,求这个两位数。你知道它是哪个数吗?
2025-10-14 21:18:43
169
原创 二维数组教学c++
在 C++ 中,二维数组是一种特殊的数组类型,本质是 "数组的数组",常用于表示矩阵、表格等二维数据结构。与 Python 的列表嵌套不同,C++ 的二维数组有更严格的类型和内存管理要求。
2025-10-13 21:18:27
362
原创 救援中央城
游戏“帝国时代”里有一张岛国地图,N个城市等距离地在一条直线上,相邻城市之间的路程是1天(游戏中的)。N个城市从左到右每个城市里的士兵数保存在一个数组中,N是奇数,就有一个中间位置,称为中央城。现在中央城遭到攻击,发出了召集令,所有的城市中的士兵都赶往中央城救援。请计算出中央城(N+1)/2天里,每天的士兵数。
2025-10-13 21:01:26
152
原创 信息学比赛成绩出来啦,为了奖励学生,L老师总共买了n袋零食,零食是果冻和饼干。 L老师决定奖励每个学生3袋果冻和2袋饼干,求最多能奖励多少个学生?
第二行,n个整数,每个整数是0或者1。0表示一袋果冻,1表示一袋饼干。第一行,一个整数n。一个整数,表示最多能奖励的学生数量。
2025-10-10 21:24:14
155
原创 寻找“活雷锋”
经过调查,“活雷锋”家的门上写着数字“16”,原来他是一个“献爱心”组织的成员,组织里每个人都有一个代号,其中“16”就是他的代号。他在自己家门上记下了这个代号,每天出门时用来提醒自己要坚持向雷锋学习。你能通过这个线索找到“活雷锋”的家吗?能找到16则输出“yes”,否则输出“no”。分4行5列输入20个数字。
2025-10-10 21:23:33
153
原创 岳飞精忠报国
小宏自从听了岳母刺字了解岳飞的事迹后,一直都很崇拜岳飞,看了《满江红》后,更是被那些为了保留、延续和传承“精忠报国”精神的小人物所打动。晚上他做了一个梦:利用过年的压岁钱买了很多蛋糕慰问前线的岳家军将士们。岳家军将士们吃了蛋糕,大发神勇,杀得敌军丢盔弃甲大败而逃!已知每k个岳家军需要吃一盒蛋糕,每盒需要W元钱,请问小宏梦中花了多少钱?
2025-10-10 21:21:54
422
原创 输入1正整数N的整数,求有多少正整数可以整除N(即因数个数)。
一行1个正整数:N,范围在[1,10000]。解释:有1, 2, 3, 4, 6, 12。
2025-10-09 20:42:19
352
原创 慈善的约瑟夫
你一定听说过约瑟夫问题吧?即从N个人中找出唯一的幸存者。现在老约瑟夫将组织一个皆大欢喜的新游戏,假设N个人站成一圈,从第1人开始交替的去掉游戏者,但只是暂时去掉(例如一开始的暂时去掉2),直到最后剩下唯一的幸存者为止。幸存者选出后,所有比幸存者号码高的人每人得到1个金币,永久性离开。其余剩下的将重复以上的游戏过程,比幸存者号码高的人每人得到1个金币后离开。经过这样的过程后,一旦人数不再减少,则最后剩下的那些人将得到2个金币。请你计算一下老约瑟夫一共要付出多少个金币?
2025-10-08 14:12:52
261
原创 n只猴子选大王,选举方法如下:所有猴子按1,2,…,n编号按照顺序围成一圈,从第k个猴子,由1开始报数,报到m时,该猴子就离开,下一只猴子再次由1开始报数,如此循环,直到圈内只剩下一只猴子时它就是大王
i<=n;int i=k;while(sum!=n-1){if(s==m){a[i]=0;s=0;sum++;i++;j<=n;j++){x=j;break;return 0;
2025-10-08 14:12:19
157
原创 n个人围一圈。从某个人开始,按顺时针方向依次编号。从编号为1的人开始顺时针“一二……“报数,报到2的人退出。这样循环下,圈子里的人不断减少。由于人的个数是有限的,因此会剩下一个人,问最后剩下的人的编号
i<=n;int i=1;while(sum!=n-1){if(s==2){a[i]=0;s=0;sum++;i++;j<=n;j++){x=j;break;return 0;
2025-10-08 14:10:21
150
原创 有n个正整数放到a数组里,现在将a数组赋值给b数组,再将b数组接到a数组的后面,组成一个新数组。现将新数组,从第一个开始,每间隔m个数的值变成0,输出改变后的数组。
i<=n;i<=n;n*=2;i<=n;i<=n;return 0;
2025-10-08 14:08:52
79
原创 有n个正整数放到数组里,现在将数组中,个位数是1的数,变成0,然后从大到小输出新数组。
return x>y;i<=n;i++){i<=n;return 0;
2025-10-08 14:08:18
110
原创 输入一串字符,字符个数不超过100,且以“.”结束(. 后面没有其他字符)。 判断它们是否构成回文,如果是输出yes,否则输出no,并且输出字符的个数。
string a;int n;cin>>a;i<j;i++,j--){if(a[i]!=a[j]){return 0;return 0;
2025-10-08 14:07:40
85
原创 4回文日期
牛牛认为,一个日期是回文的,当且仅当表示这个日期的8位数字是回文的。现 在,牛牛想知道:在他指定的两个日期之间包含这两个日期本身),有多少个真实存 在的日期是回文的。牛牛习惯用8位数字表示一个日期,其中,前4位代表年份,接下来2位代表月 份,最后2位代表日期。一个8位数字是回文的,当且仅当对于所有的i ( 1 <=i<= 8 )从左向右数的第i个 数字和第9-i个数字(即从右向左数的第i个数字)是相同的。•对于2010年1月2日,用8位数字20100102表示,它是回文的。2.这个年份是400的整数倍。
2025-10-08 14:07:09
229
原创 习题3 回文数1
若一个数(首位不为零)从左向右读与从右向左读都一样,我们就将其称之为回文数。例如:给定一个十进制数 56,将 56 加 65(即把 56 从右向左读),得到 121 是一个回文数。写一个程序,给定一个数M,求最少经过几步可以得到回文数。如果在 30 步以内(包含 30 步)不可能得到回文数,则输出 Impossible!在这里的一步是指进行了一次加法,上例最少用了 4 步得到回文数 4884。如果能在 30 步以内得到回文数,输出步数。一个整数M(0<M<10^12)。否则输出 Impossible!
2025-10-08 14:06:31
190
原创 习题2:回文素数
卡卡西和小朋友们把购买的图书和文具一起邮寄给了山区的贫困孩子,他们做了一件极其有意义的事情,心理乐开了花;哼着歌儿他们做起了数字游戏,他们发现有些自然数例如 131、1221 等具有左右对称的特点,这样的数被称为回文数;还有一些数如 13、17 等只能被 1 和其自身整除,这样的数被称为素数。作为编程的爱好者,卡卡西想写出一个程序,迅速求出两个数 m 和 n 之间即是回文数又是素数的个数。一个整数,m 和 n 之间(包含 m 和 n)即是回文数又是素数的个数。
2025-10-08 14:05:25
207
原创 回文数的个数
输入一个正整数 n,求 1~n 之间“回文数”的个数。回文数是指一个数倒过来和原数一样,如 12121、11、1221、1 是回文数,而 1231 不是回文数。一行一个正整数,表示 1~n 之间回文数的个数。一行一个正整数 n,1≤n≤10000。
2025-10-08 14:04:54
204
原创 有N本书,排成一行。珂珂发现从前向后看,从第1本开始,间隔是3的书都是她喜欢的,也就是第1、4、7、10…本书。乐乐发现从后向前看,从最后一本开始,间隔是4的书都是他喜欢的。请问有多少本书是他们共同
i<=n;i>=1;i<=n;return 0;
2025-10-06 17:20:31
91
原创 N本书,编号从1到N,珂珂要选编号是3的倍数的书,乐乐要选编号是4的倍数的书,萌萌要选编号是5的倍数的书,静静要选编号个位数是2的书。但钱有限,老师觉得一本书至少要有2个人选才买合算,问可以买多少本书
i<=n;i<=n;i<=n;i<=n;i<=n;return 0;
2025-10-06 17:02:18
101
原创 有N个学生考了OI测试,请编程帮助老师统计有多少学生没有达到平均分?
i<=n;i++){sum+=a[i];sum/=n;i<=n;return 0;
2025-10-06 14:11:41
343
原创 编程错误介绍
C++ 多态依赖虚函数,若子类重写虚函数时 “签名不匹配”(如参数、返回值不同),会导致多态失效;若通过 “空指针调用虚函数”,会触发段错误。错误示例 1:虚函数签名不匹配(多态失效)cpp运行public:} // 基类虚函数:参数intpublic:} // 子类“重写”:参数double(签名不匹配)p->func(5);// 错误:多态失效,调用的是基类func(int),而非子类func(double)错误示例 2:空指针调用虚函数cpp运行p->func(5);
2025-10-06 14:06:01
779
原创 输入 N个不同的整数,记录了滑雪线路的地形高度。要求先从前面走到最高点,再开始向后滑雪,滑雪中如果遇到某个的地形比前面的地形高,就会停止,求滑了多少距离?
i<=n;i++){maxx=a[i];maxi=i;i<=n;i++) if(i!return 0;
2025-10-06 14:01:24
123
原创 把数倒过来写一般叫反转,例如:1458反转结果是:8541数组的内容如果倒过来写也叫反转。有N个整数的数组,请编程先反转数组,然后输出。
i<=n;i>0;return 0;
2025-10-06 13:58:57
85
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅