22.【算法五章-----01】
算法五篇
- 第一篇:(矩形边数)
- 解题思路
- 代码展示
- 第二篇:(球回弹多少cm)
- 整体思路:
- 代码展示:
- 他人代码展示:
- 第三篇:(删除重复项)
- 整体思路:
- 代码展示:
- 第四篇 (回文数)
- 整体思路:
- 代码展示:
- 第五篇:(判断润年)
- 整体思路:
- 代码展示:
第一篇:(矩形边数)
已知3个矩形的大小依次是axb,a2xb2和agxb3。用这3个矩形能拼出的所有多边形中,边数最少可以是多少?
解题思路
在解决此类问题的时候,我才用最大边化。即首先找出3个矩阵整在一起的情况下边数最大为多少.如果有边相等的,那么对应的变数就会与最大值差两个,否则不差,仍然是两个.
代码展示
#include <iostream>
using namespace std;
int main()
{cout << "请输入数据的组数:" << endl;int n, a[100],m=0;cin >> n;for (int i = 0; i < n; i++) //几组数据{cout << "请输入第" << i + 1 << "组数据:" << endl;for (int j = i*6; j < 6*(i+1); j++) //每组数据多少{cin >> a[j];}}for (int i = 0; i < n; i++) //一组数据作比较{for (int j = i * 6; j < 6 * (i + 1); j++) // 一对一对应,{for (int k = j; k < 6 * (i + 1)-1; k++){if (a[j] == a[k + 1]){m++;}}}cout << 8 - (m * 2) << endl; m = 0;}
}
第二篇:(球回弹多少cm)
C++有一个皮球从a厘米高度开始下落,每次落地后反弹回原来高度的一半。经过多次反弹后,如果皮球是从1厘米的高度下落,那么皮球触地后就不再反弹了。问皮球一共经过了多少厘米
输入格式
一个整数a。
输出格式
一个整数。
输入/输出例子1输入:10 输出:26 样例解释 10+5+5+2+2+1+1=26
整体思路:
本题问共经历了多少厘米,我们可以想象一下,如果一个球从10cm的高度落下,那么经过第一次弹跳后落地,那么经历了多少cm呢?答案是 10cm(第一次落地)+5cm(第一次弹起)+5cm(第一次谈起落地)。那么第二次弹起落地是多少呢?2.5cm+2.5cm.所以我们返现规律,每次落地弹起的高度是:(落地时高度)/2*2;
代码展示:
#include <iostream>
using namespace std;
#include <stdlib.h>
#include <string.h>
int main()
{int a,m=0;cout << "请输入从多cm" << endl;cin >> a;int sum = a,sum1=0;for (int i = 0; i < a; i++){sum /=2;sum1 += sum*2;}cout << "需要" << sum1+a << endl; //为什么要+a? 因为没算第一个洛的位置
}
他人代码展示:
#include <iostream>
using namespace std;
int main()
{int a;cin>>a;int sum = a;while(a > 1){a/=2;sum += a*2;}cout<<sum<<endl;return 0;
}
第三篇:(删除重复项)
删除两个字符串里面的重复项,然后输出删除后的结果:
整体思路:
首先我们先要进行手动输入两个字符串,在这里我们要知道字符串的特性 s3=s3+s1;可以实现字符串的合并.然后设置一个for循环进行一个个判断是否相等,如果不相等的话那么就合并。
代码展示:
#include <iostream>
using namespace std;
#include <string>
int main()
{string s1 ;char s2;string s3 ;cout << "请输入原始数据" << endl;cin >> s1;cout << "请输入要删除元素:" << endl;cin >> s2;for (int i = 0; i < s1.length(); i++){if (s1[i] !=s2) //如果不用strcmp函数,那么就只能一个是string 一个是char型.如果用strcmp,那么两个都需要是char类型的数组{s3 = s1[i] + s3;}}
cout << "删除后的元素为:" << s3 << endl;return 0;
}
第四篇 (回文数)
回文数,就是首尾一一对应相等的数就是回文数
整体思路:
首先我们要设置一个字符串,然后对其进行一个小于n/2的for循环,(因为是俩俩判定)。重要思路是首尾相减如果为0,那么就是回文数.
代码展示:
#include <iostream>
#include <string>
using namespace std;
int main()
{int i,n;string s;cout<<"请输入你要输入一个三位数数:"<<endl;cin>>s;n=s.length();for(i=0;i<n/2;i++) //因为判断的是一对{if(s[i]-s[n-1-i]==NULL) //因为相等所以相减为0;{cout<<"YES!"<<endl;}else{cout<<"NO"<<endl;}}return 0;
}
第五篇:(判断润年)
闰年是能够被四整除且不能被100整除,但能够被400整除的数
整体思路:
我们要知道闰年的条件,闰年是能够被四整除且不能被100整除,但能够被400整除的数
代码展示:
#include <iostream>
using namespace std;
int main()
{cout << "请输入您想判断的年份:" << endl;int year;cin >> year;if (year % 4 == 0 && year % 100 != 0 || year % 400 == 0) //能够被整除4,但不能整除一百,但能整除400{cout << year << "是闰年" << endl;}else{cout << year << "不是闰年" << endl;}return 0;
}
22.【算法五章-----01】相关推荐
- 29.【算法五章-----03(未完毕)】
1.求排名的信息(结构体方法) 在某个班的一次考试中,n(n<10)个学生的考试成绩都不相同,现知道了每个学生的学号和成绩, 求考第k名学生的学号和成绩. 输入 3(班级共n名学生) 2009 ...
- [XJTUSE 算法设计与分析] 第五章 回溯法
第五章 回溯法 填空题会有代码填空,大题会手动回溯 学习要点 理解回溯法的深度优先搜索策略. 掌握用回溯法解题的算法框架 (1)递归回溯 (2)迭代回溯 (3)子集树算法框架 (4)排列树算法框架 5 ...
- 第十五章 - 垃圾回收相关算法
第十五章 - 垃圾回收相关算法 文章目录 第十五章 - 垃圾回收相关算法 1.标记阶段:引用计数算法 1.1 垃圾标记阶段:对象存活判断 1.2 引用计数算法 1.3 小结 2.标记阶段:可达性分析算 ...
- 计算机算法设计与分析第五章思维导图知识点总结 ( 初稿 )
复习链接 计算机算法设计与分析第一章思维导图 计算机算法设计与分析第二章思维导图&&知识点总结 计算机算法设计与分析第三章思维导图&&知识点总结 计算机算法设计与分析第 ...
- 《算法导论3rd第十五章》动态规划
前言 和分治法一样, 动态规划 (dynamic programming)是通过组合子问题的解而解决整个问题的.分治法是将问题划分成一些独立的子问题,递归地求解各子问题,然后合并子问题的解而得到原问题 ...
- 陈宝林《最优化理论与算法》超详细学习笔记 (七)————第五章 运输问题
陈宝林<最优化理论与算法>超详细学习笔记 (七)----第五章 运输问题 第1节 运输问题的数学模型 第2节 表上作业法 2.1 确定初始基可行解 2.2 最优解的判别 2.3 改进的方法 ...
- 程序员编程艺术第三十四~三十五章:格子取数问题,完美洗牌算法
第三十四~三十五章:格子取数,完美洗牌算法 作者:July.caopengcs.绿色夹克衫.致谢:西芹_new,陈利人, Peiyush Jain,白石,zinking. 时间:二零一三年八月二十三日 ...
- 程序员编程艺术第三十四 三十五章 格子取数问题,完美洗牌算法
分享一下我老师大神的人工智能教程!零基础,通俗易懂!http://blog.csdn.net/jiangjunshow 也欢迎大家转载本篇文章.分享知识,造福人民,实现我们中华民族伟大复兴! 第三十四 ...
- 2018-4-8蚁群算法---包子阳《智能优化算法以及Matlab实现》第五章
资料来源: <智能优化算法以及matlab实现>包子阳 余继周 编著 第五章-----蚁群算法 是一种元启发式优化算法(自己理解:就是作为群体的单位个体也就是元,在里面充当着随机的选择搜 ...
最新文章
- 避障机器人程序c语言,基于51单片机小车寻迹、避障源程序(注释很详细)
- 2009中国海上大阅兵全视频
- QT的QDateTimeEdit类的使用
- EasyUI加zTree使用解析 easyui修改操作的表单回显方法 验证框提交表单前验证 datagrid的load方法
- 《掌握需求过程》阅读笔记05
- Android IntentService的使用和源代码分析
- 「转」101个著名的心理效应
- linux设备驱动模型一字符设备open系统调用流程
- axis2弱密码漏洞复现
- Java学习笔记第七天:极其基础的家庭记账系统
- 设置samba密码时提示failed to find entry for user
- 机器学习:k近邻算法(KNN)介绍
- mac charles代理设置
- formal Verification 形式验证 形式验证的最大障碍:误报(false positives)的危险 第9章
- 【videojs】videojs自定义全屏按钮 | videojs全屏移动端弊端 | 创建videojs菜单
- ubuntu中安装搜狗拼音输入法
- UnityShader崩坏渲染解析系列(3)--高光、Dither效果、Rim、特殊状态
- pycharm安装Translation翻译插件
- NOIP 1155:回文三位数
- Shiba Inu (SHIB) 即将推出Shiboshis NFT