算法五篇

  • 第一篇:(矩形边数)
    • 解题思路
    • 代码展示
  • 第二篇:(球回弹多少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】相关推荐

  1. 29.【算法五章-----03(未完毕)】

    1.求排名的信息(结构体方法) 在某个班的一次考试中,n(n<10)个学生的考试成绩都不相同,现知道了每个学生的学号和成绩, 求考第k名学生的学号和成绩. 输入 3(班级共n名学生) 2009 ...

  2. [XJTUSE 算法设计与分析] 第五章 回溯法

    第五章 回溯法 填空题会有代码填空,大题会手动回溯 学习要点 理解回溯法的深度优先搜索策略. 掌握用回溯法解题的算法框架 (1)递归回溯 (2)迭代回溯 (3)子集树算法框架 (4)排列树算法框架 5 ...

  3. 第十五章 - 垃圾回收相关算法

    第十五章 - 垃圾回收相关算法 文章目录 第十五章 - 垃圾回收相关算法 1.标记阶段:引用计数算法 1.1 垃圾标记阶段:对象存活判断 1.2 引用计数算法 1.3 小结 2.标记阶段:可达性分析算 ...

  4. 计算机算法设计与分析第五章思维导图知识点总结 ( 初稿 )

    复习链接 计算机算法设计与分析第一章思维导图 计算机算法设计与分析第二章思维导图&&知识点总结 计算机算法设计与分析第三章思维导图&&知识点总结 计算机算法设计与分析第 ...

  5. 《算法导论3rd第十五章》动态规划

    前言 和分治法一样, 动态规划 (dynamic programming)是通过组合子问题的解而解决整个问题的.分治法是将问题划分成一些独立的子问题,递归地求解各子问题,然后合并子问题的解而得到原问题 ...

  6. 陈宝林《最优化理论与算法》超详细学习笔记 (七)————第五章 运输问题

    陈宝林<最优化理论与算法>超详细学习笔记 (七)----第五章 运输问题 第1节 运输问题的数学模型 第2节 表上作业法 2.1 确定初始基可行解 2.2 最优解的判别 2.3 改进的方法 ...

  7. 程序员编程艺术第三十四~三十五章:格子取数问题,完美洗牌算法

    第三十四~三十五章:格子取数,完美洗牌算法 作者:July.caopengcs.绿色夹克衫.致谢:西芹_new,陈利人, Peiyush Jain,白石,zinking. 时间:二零一三年八月二十三日 ...

  8. 程序员编程艺术第三十四 三十五章 格子取数问题,完美洗牌算法

    分享一下我老师大神的人工智能教程!零基础,通俗易懂!http://blog.csdn.net/jiangjunshow 也欢迎大家转载本篇文章.分享知识,造福人民,实现我们中华民族伟大复兴! 第三十四 ...

  9. 2018-4-8蚁群算法---包子阳《智能优化算法以及Matlab实现》第五章

    资料来源: <智能优化算法以及matlab实现>包子阳  余继周 编著 第五章-----蚁群算法 是一种元启发式优化算法(自己理解:就是作为群体的单位个体也就是元,在里面充当着随机的选择搜 ...

最新文章

  1. 避障机器人程序c语言,基于51单片机小车寻迹、避障源程序(注释很详细)
  2. 2009中国海上大阅兵全视频
  3. QT的QDateTimeEdit类的使用
  4. EasyUI加zTree使用解析 easyui修改操作的表单回显方法 验证框提交表单前验证 datagrid的load方法
  5. 《掌握需求过程》阅读笔记05
  6. Android IntentService的使用和源代码分析
  7. 「转」101个著名的心理效应
  8. linux设备驱动模型一字符设备open系统调用流程
  9. axis2弱密码漏洞复现
  10. Java学习笔记第七天:极其基础的家庭记账系统
  11. 设置samba密码时提示failed to find entry for user
  12. 机器学习:k近邻算法(KNN)介绍
  13. mac charles代理设置
  14. formal Verification 形式验证 形式验证的最大障碍:误报(false positives)的危险 第9章
  15. 【videojs】videojs自定义全屏按钮 | videojs全屏移动端弊端 | 创建videojs菜单
  16. ubuntu中安装搜狗拼音输入法
  17. UnityShader崩坏渲染解析系列(3)--高光、Dither效果、Rim、特殊状态
  18. pycharm安装Translation翻译插件
  19. NOIP 1155:回文三位数
  20. Shiba Inu (SHIB) 即将推出Shiboshis NFT

热门文章

  1. 最新转转交易猫闲鱼后台源码+带视频教程亲测
  2. 程序猿告白微信小程序
  3. 数据密集型应用系统设计(3)
  4. 关于建造的逻辑: BIM和VDC
  5. 阶段一:计数器的仿真实验
  6. 大学英语句子课文翻译clamber
  7. Java工程师工资一般是多少?
  8. php接入微信JSAPI支付,微信内拉起支付,基于thinkPHP框架 WeChatDeveloper支付类包
  9. Traceroute命令原理及使用(路由跟踪)
  10. 高光谱、多光谱与全色遥感影像的成像原理及相互融合