C++
空 白
仅仅是万千世界当中的一员,也没那么闪亮
展开
-
前缀和
前缀和题目描述输入一个长度为n的整数序列。接下来再输入m个询问,每个询问输入一对l, r。对于每个询问,输出原序列中从第lll个数到第rrr个数的和。输入格式第一行包含两个整数n和m。第二行包含n个整数,表示整数数列。接下来m行,每行包含两个整数l和r,表示一个询问的区间范围。输出格式共m行,每行输出一个询问的结果。数据范围1<=l<=r<=n1<=l<=r<=n1<=l<=r<=n1<=n,m<=1000001&原创 2020-08-30 20:31:55 · 169 阅读 · 0 评论 -
这样实现高精度的运算
高精度加法题目描述给定两个正整数,计算它们的和共两行,每行包含一个整数输出一行,包含所求的和数据长度1<=N<=10000001<=N<=10000001<=N<=1000000问题分析本题数据量庞大,数据长度有100W的长度,因此得将数使用字符串来存,将数字拆开后倒序存储,这样有效解决进位而要改变数组长度的问题,因此这样处理方法简单将两个数进行...原创 2020-03-12 18:23:38 · 91 阅读 · 0 评论 -
浮点二分开平方
开平方题目描述给定一个数,写出算法,将其开方,结果保留6位小数。输入一个数(可以是小数),输出结果为其平方根,结果保留6位小数题目分析采用浮点数二分法,对齐进行找值。假定中值为最终解,给定上下限,然后求中值;比较中值平和与x的大小,并修改其上下限,依次循环代码实现#include<iostream>#include<windows.h> using n...原创 2020-03-08 21:22:09 · 375 阅读 · 0 评论 -
二分法查找数的范围
数的范围题目描述给定一个按照升序排列的长度为n的整数数组,以及 q 个查询。对于每个查询,返回一个元素k的起始位置和终止位置(位置从0开始计数)。如果数组中不存在该元素,则返回“-1 -1”。输入格式第一行包含整数n和q,表示数组长度和询问个数。第二行包含n个整数(均在1~10000范围内),表示完整数组。接下来q行,每行包含一个整数k,表示一个询问元素。输出格式共q行,每行...原创 2020-03-07 23:29:10 · 814 阅读 · 0 评论 -
归并排序原来可以这么简单
归并排序题目描述给定你一个长度为n的整数数列。请你使用归并排序对这个数列按照从小到大进行排序。并将排好序的数列按顺序输出。输入格式输入共两行,第一行包含整数 n。第二行包含 n 个整数(所有整数均在111 ~$ 10^9$范围内),表示整个数列。输出格式输出共一行,包含 n 个整数,表示排好序的数列。数据范围1≤n≤1000001≤n≤1000001≤n≤1000001≤n≤...原创 2020-03-07 00:26:58 · 405 阅读 · 0 评论 -
快速排序
快速排序题目描述给定你一个长度为n的整数数列。请你使用归并排序对这个数列按照从小到大进行排序。并将排好序的数列按顺序输出。输入格式输入共两行,第一行包含整数 n。第二行包含 n 个整数(所有整数均在111 ~$ 10^9$范围内),表示整个数列。输出格式输出共一行,包含 n 个整数,表示排好序的数列。数据范围1≤n≤1000001≤n≤1000001≤n≤1000001≤n≤...原创 2020-03-06 20:49:12 · 373 阅读 · 0 评论 -
C++之Vector的使用
C++语法学习Vector 使用说明Vector代表是一个封装了动态大小数组的顺序容器,也就是一个动态数组(变长数组)可以简单的认为,向量是一个能够存放任意类型的动态数组。引用:#include < vector>。下文统一采用的万能头,就不一一引用了初始化#include <iostream>#include <bits/stdc++.h&g...原创 2020-01-30 14:29:52 · 330 阅读 · 0 评论 -
C++常用数学函数
C++中常用的数学函数cpp中,数学函数是函数的一种。指专门进行数学运算的函数,一般都在头文件下。头文件定义为#include<math.h>abs( )int abs(int i); 求整数的绝对值。cout<<"-53的绝对值是:"<<abs(-53);-53的绝对值是:53labs( )long labs(long n); 求长...原创 2020-01-25 22:47:36 · 7238 阅读 · 0 评论 -
数的反转——算法
数的反转问题描述给出一个 32 位的有符号整数,你需要将这个整数中每位上的数字进行反转。示例 1:输入: 123输出: 321示例 2:输入: -123输出: -321示例 3:输入: 120输出: 21注意:假设我们的环境只能存储得下 32 位的有符号整数,则其数值范围为 [−231−2^{31}−231, 231−12^{31} − 1231−1]。请根据这个假设,...原创 2020-01-25 20:03:00 · 679 阅读 · 0 评论 -
C++整型上下限
INT_MAX与``INT_MIN`在C/C++语言中,不能够直接使用-2147483648来代替最小负数,因为这不是一个数字,而是一个表达式。表达式的意思是对整数21473648取负,但是2147483648已经溢出了int的上限,所以定义为(-INT_MAX -1)。数据溢出C++中int类型是4字节32位的,范围是−2147483648-2147483648−214748364...原创 2020-01-25 20:02:01 · 1758 阅读 · 0 评论 -
回文数判断——算法
回文数判断问题描述判断一个整数是否是回文数。回文数是指正序(从左向右)和倒序(从右向左)读都是一样的整数。示例 1:输入: 121输出: true示例 2:输入: -121输出: false解释: 从左向右读, 为 -121 。 从右向左读, 为 121- 。因此它不是一个回文数。示例 3:输入: 10输出: false解释: 从右向左读, 为 01 。因此它不是一个回...原创 2020-01-25 17:10:36 · 964 阅读 · 0 评论 -
两数之和——算法
两数之和问题描述给定一个整数数组 nums 和一个目标值 target,请你在该数组中找出和为目标值的那 两个 整数,并返回他们的数组下标。你可以假设每种输入只会对应一个答案。但是,你不能重复利用这个数组中同样的元素。示例:给定 nums = [2, 7, 11, 15], target = 9因为 nums[0] + nums[1] = 2 + 7 = 9所以返回 [0, 1...原创 2020-01-23 20:27:51 · 563 阅读 · 0 评论 -
钞票与硬币问题——算法
钞票和硬币问题描述读取一个带有两个小数位的浮点数,这代表货币价值。在此之后,将该值分解为多种钞票与硬币的和,每种面值的钞票和硬币使用数量不限,要求使用的钞票和硬币的数量尽可能少。钞票的面值是100,50,20,10,5,2。硬币的面值是1,0.50,0.25,0.10,0.05和0.01。输入格式输入一个浮点数N。输出格式参照输出样例,输出每种面值的钞票和硬币的需求数量。数据...原创 2020-01-23 17:16:47 · 1232 阅读 · 0 评论 -
天数转换问题——算法
天气转换问题描述读取对应于一个人的年龄(以天为单位)的整数值,并转化为年,月和日表示方式输出,年、月、日分别对应“ano(s)”, “mes(es)”, “dia(s)”。注意:为了方便计算,假设全年365天,每月30天。 数据保证,不会出现12个月和几天的情况,例如360,363或364。输入格式输入一个整数N。输出格式参照输出样例,输出转换后的天数表达。数据范围1≤N≤10...原创 2020-01-23 17:15:02 · 728 阅读 · 0 评论 -
时间转换问题——算法
时间转换问题描述读取一个整数值,它是工厂中某个事件的持续时间(以秒为单位),请你将其转换为小时:分钟:秒来表示。输入格式输入一个整数N。输出格式输出转换后的时间表示,格式为“hours:minutes:seconds”。数据范围1≤N≤10000001≤N≤10000001≤N≤1000000输入样例:556输出样例:0:9:16问题分析首先要知道秒与小时、分钟的...原创 2020-01-23 17:14:16 · 1114 阅读 · 0 评论 -
钞票问题——算法
title: 钞票分解问题date: 2020-01-21 20:51:28categories: 算法comments: truemathjax: truetags:C/C++算法description: 在这个问题中,你需要读取一个整数值并将其分解为多张钞票的和,每种面值的钞票可以使用多张,并要求所用的钞票数量尽可能少。钞票的可能面值有100,50,20,10,5,2,1。...原创 2020-01-21 23:12:35 · 1353 阅读 · 0 评论 -
进制转换——十六进制转八进制
十六进制转八进制题目描述给定n个十六进制正整数,输出它们对应的八进制数。输入格式 输入的第一行为一个正整数n (1<=n<=10)。 接下来n行,每行一个由09、大写字母AF组成的字符串,表示要转换的十六进制正整数,每个十六进制数长度不超过100000。输出格式 输出n行,每行为输入对应的八进制正整数。【注意】输入的十六进制数不会有前导0,比如012A。输出...原创 2020-01-21 20:49:28 · 1078 阅读 · 0 评论 -
燃油消耗问题——算法
燃油消耗问题问题描述一辆汽车每行驶12公里需要消耗1升汽油,现在告诉你该汽车的行驶速度S(km/h)和行驶时间T(h),请你计算该车在行驶过程中一共消耗了多少升汽油。输入格式输入共两行,第一行包含一个整数T,表示行驶时间(h)。第二行包含一个整数S,表示行驶速度(km/h)。输出格式输出行驶期间的总油耗,结果保留三位小数。数据范围1≤T,S≤1091≤T,S≤10^91≤T,S...原创 2020-01-21 20:43:56 · 1171 阅读 · 0 评论 -
距离问题——算法
距离问题问题描述两辆汽车在同一地点,同时,沿同一方向前进。一辆车的速度为60 km/h,另一辆车的速度为90 km/h。显然,快车与慢车的距离会不断拉开,每过一个小时(60分钟),两车的距离就拉开30公里。现在,告诉你两车之间的距离为L公里,请你求出两车已经行驶了多长时间?输入格式输入包含一个整数L,表示两车之间的距离。输出格式输出格式为“X minutos”,其中X为已经行驶...原创 2020-01-21 00:46:25 · 1439 阅读 · 0 评论 -
景点游览——算法
景点游览问题描述问题描述小明来到一个景区游玩,但是他的时间有限,没办法逛遍所有的景点,所以他从网上下载了每个景点的评分,他希望能够使游览的景点的评分总和最高,于是他希望你帮他对于N个景点排下序。输入格式输入的第一行包含一个正整数N,表示N个景点。 第二行有N个正整数,表示每个景点的评分值。输出格式输出一行,包含N个正整数,表示N个景点的评分从大到小的排列样例输入43 2 ...原创 2020-01-20 21:20:50 · 1374 阅读 · 4 评论 -
数据交换——算法
数据交换问题描述问题描述 编写一个程序,输入两个整数,分别存放在变量x和y当中,然后使用自己定义的函数swap来交换这两个变量的值。 输入格式:输入只有一行,包括两个整数。 输出格式:输出只有一行,也是两个整数,即交换以后的结果。 要求:主函数负责数据的输入与输出,但不能直接交换这两个变量的值,必须通过调用单独定义的函数swap来完成,而swap函数只负责交换变量的值,不能输...原创 2020-01-20 21:19:56 · 581 阅读 · 0 评论 -
加法运算——算法
加法运算问题描述问题描述 你的表妹正在学习整数的加法,请编写一个程序来帮助她学习。该程序调用了一个函数GetTwoInts,由它来返回两个从键盘读入的100以内的整数,然后计算这两个整数之和,并把答案显示出来。要求:在主函数中不能使用scanf等函数直接输入这两个整数,而必须通过调用GetTwoInts函数来完成,在GetTwoInts函数中可以使用scanf函数。 输入格式:输入只...原创 2020-01-20 21:19:06 · 932 阅读 · 0 评论 -
润年判断——算法
润年判断问题描述问题描述给定一个年份,判断这一年是不是闰年。当以下情况之一满足时,这一年是闰年:年份是4的倍数而不是100的倍数;年份是400的倍数。其他的年份都不是闰年。输入格式输入包含一个整数y,表示当前的年份。输出格式输出一行,如果给定的年份是闰年,则输出yes,否则输出no。说明:当试题指定你输出一个字符串作为结果(比如本题的yes或者no,你需要严格...原创 2020-01-20 21:18:04 · 2405 阅读 · 0 评论 -
01字符串——算法
01字符串问题描述问题描述对于长度为5位的一个01串,每一位都可能是0或1,一共有32种可能。它们的前几个是:0000000001000100001100100请按从小到大的顺序输出这32种01串。输入格式本试题没有输入。输出格式输出32行,按从小到大的顺序每行一个长度为5的01串。样例输出00000000010001000011<以下部分省略>...原创 2020-01-20 21:17:05 · 780 阅读 · 0 评论 -
字母图形——算法
字母图形问题问题描述问题描述利用字母可以组成一些美丽的图形,下面给出了一个例子:ABCDEFGBABCDEFCBABCDEDCBABCDEDCBABC这是一个5行7列的图形,请找出这个图形的规律,并输出一个n行m列的图形。输入格式输入一行,包含两个整数n和m,分别表示你要输出的图形的行数的列数。输出格式输出n行,每个m个字符,为你的图形。样例输入5 7样例输出A...原创 2020-01-18 20:51:47 · 454 阅读 · 0 评论 -
数列特征问题——算法
数列特征问题描述问题描述给出n个数,找出这n个数的最大值,最小值,和。输入格式第一行为整数n,表示数的个数。第二行有n个数,为给定的n个数,每个数的绝对值都小于10000。输出格式输出三行,每行一个整数。第一行表示这些数中的最大值,第二行表示这些数中的最小值,第三行表示这些数的和。样例输入51 3 -2 4 5样例输出5-211数据规模与约定1 <= n ...原创 2020-01-18 17:28:53 · 218 阅读 · 0 评论 -
查找整数——算法
查找整数题目描述问题描述给出一个包含n个整数的数列,问整数a在数列中的第一次出现是第几个。输入格式第一行包含一个整数n。第二行包含n个非负整数,为给定的数列,数列中的每个数都不大于10000。第三行包含一个整数a,为待查找的数。输出格式如果a在数列中出现了,输出它第一次出现的位置(位置从1开始编号),否则输出-1。样例输入61 9 4 8 3 99样例输出2数据规...原创 2020-01-16 23:58:11 · 2047 阅读 · 2 评论 -
杨辉三角问题——算法
杨辉三角形问题描述问题描述杨辉三角形又称Pascal三角形,它的第i+1行是(a+b)i的展开式的系数。它的一个重要性质是:三角形中的每个数字等于它两肩上的数字相加。下面给出了杨辉三角形的前4行:11 11 2 11 3 3 1给出n,输出它的前n行。输入格式输入包含一个数n。输出格式输出杨辉三角形的前n行。每一行从这一行的第一个数开始依次输出,中间使用一个空格分隔。...原创 2020-01-16 23:43:39 · 2019 阅读 · 0 评论 -
特殊的数字——算法
特殊的数字问题描述问题描述153是一个非常特殊的数,它等于它的每位数字的立方和,即153=1×1×1+5×5×5+3×3×3。编程求所有满足这种条件的三位十进制数。输出格式按从小到大的顺序输出满足条件的三位十进制数,每个数占一行。问题分析首先范围确定,是3位十进制数,其次,是循环遍历输出代码实现#include <iostream>#include <...原创 2020-01-16 13:53:20 · 481 阅读 · 0 评论 -
特殊回文数问题——算法
特殊回文数问题描述问题描述123321是一个非常特殊的数,它从左边读和从右边读是一样的。 输入一个正整数n, 编程求所有这样的五位和六位十进制数,满足各位数字之和等于n 。输入格式输入一行,包含一个正整数n。输出格式按从小到大的顺序输出满足条件的整数,每个整数占一行。样例输入52样例输出899998989989998899数据规模和约定1<=n<=5...原创 2020-01-15 23:52:36 · 680 阅读 · 0 评论 -
10进制转换为16进制数——算法
10进制转换为16进制数题目描述 十六进制数是在程序设计时经常要使用到的一种整数的表示方式。它有0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F共16个符号,分别表示十进制数的0至15。十六进制的计数方法是满16进1,所以十进制数16在十六进制中是10,而十进制的17在十六进制中是11,以此类推,十进制的30在十六进制中是1E。 给出一个非负整数,将它表示成十六进制的形...原创 2020-01-15 22:04:17 · 18754 阅读 · 2 评论 -
16进制转换为10进制数——算法
16进制转换为10进制数题目描述问题描述从键盘输入一个不超过8位的正的十六进制数字符串,将它转换为正的十进制数后输出。 注:十六进制数中的10~15分别用大写的英文字母A、B、C、D、E、F表示。样例输入FFFF样例输出65535题目分析首先得将16进制数转换为4位二进制数,装入到字符串中,再从字符串总从末尾开始,逐一将2进制转换为10进制数字。(从末尾转换就不存在倒序转...原创 2020-01-15 14:23:00 · 22507 阅读 · 0 评论 -
将16进制数转换为8进制数输出——算法
16进制数转换为8进制数题目描述给定n个十六进制正整数,输出它们对应的八进制数。输入格式 输入的第一行为一个正整数n (1<=n<=10)。 接下来n行,每行一个由09、大写字母AF组成的字符串,表示要转换的十六进制正整数,每个十六进制数长度不超过100000。输出格式 输出n行,每行为输入对应的八进制正整数。题目分析将16进制逐位转换为4位2进制,然后再3位一...原创 2019-12-21 10:49:53 · 4444 阅读 · 0 评论 -
序列求和——算法
序列求和题目描述求1+2+3+…+n的值。题目分析说明:请注意这里的数据规模。本题直接的想法是直接使用一个循环来累加,然而,当数据规模很大时,这种“暴力”的方法往往会导致超时。此时你需要想想其他方法。你可以试一试,如果使用1000000000作为你的程序的输入,你的程序是不是能在规定的上面规定的时限内运行出来。本题另一个要值得注意的地方是答案的大小不在你的语言默认的整型(int)范围...原创 2019-12-18 15:55:28 · 1013 阅读 · 0 评论 -
C++基础学习01
C++语法学习将通过一些简单demo来学习 C++的基本语法基础,博主是有一定C的基础的,所以在默写太基础的释义上将不会做过多的解释,顺序在某些情况而言可能是比较乱的,没有一个合理的规整,学到啥,看到啥,就记录啥。什么是C++C++就是C语言的继承,它既可以进行C语言的过程化程序设计,又可以进行以抽象数据类型为特点的基于对象的程序设计,还可以进行以继承和多态为特点的面向对象的程序设计。C++...原创 2019-12-12 11:37:17 · 135 阅读 · 0 评论