![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
机试准备
zx428621
这个作者很懒,什么都没留下…
展开
-
机试准备--进制转换专题
KY30 进制转换刷题链接: link.题目描述将一个长度最多为30位数字的十进制非负整数转换为二进制数输出。输入描述:多组数据,每行为一个长度不超过30位的十进制非负整数。 (注意是10进制数字的个数可能有30个,而非30bits的整数)输出描述:每行输出对应的二进制数。输入:0138输出:01111000注意该题不同于普通的进制转换,该题输入数据为30位数,涉及大整数的处理,使用string类型进行大整数的存储。我的代码:#include<stdio.h原创 2021-07-15 23:20:56 · 252 阅读 · 0 评论 -
牛客机试真题--堆栈的使用(栈)
堆栈的使用刷题链接: link.题目描述堆栈是一种基本的数据结构。堆栈具有两种基本操作方式,push 和 pop。Push一个值会将其压入栈顶,而 pop 则会将栈顶的值弹出。现在我们就来验证一下堆栈的使用。输入描述:对于每组测试数据,第一行是一个正整数 n,0<n<=10000(n=0 结束)。而后的 n 行,每行的第一个字符可能是’P’或者’O’或者’A’;如果是’P’,后面还会跟着一个整数,表示把这个数据压入堆栈;如果是’O’,表示将栈顶的值 pop 出来,如果堆栈中没有元素时,原创 2021-05-08 21:11:21 · 277 阅读 · 0 评论 -
牛客机试真题--Zero-complexity Transposition(栈)
Zero-complexity Transposition刷题链接: link.题目描述You are given a sequence of integer numbers. Zero-complexity transposition of the sequence is the reverse of this sequence. Your task is to write a program that prints zero-complexity transposition of the give原创 2021-05-08 21:07:25 · 114 阅读 · 0 评论 -
牛客历年机试真题--括号匹配问题(栈)
括号匹配问题将左括号的下标压入栈,最后根据栈是否为空判断是否有左括号未匹配成功,以及未匹配成功左括号下标的位置;如果当前字符为右括号,判断栈是否为空,不为空则匹配成功,执行出栈,否则匹配失败。参考代码:#include<cstdio>#include<stack>#include<string>#include<iostream> using namespace std;int main(){ stack<int> s; s原创 2021-05-08 21:01:44 · 207 阅读 · 0 评论 -
牛客历年机试真题--猫狗收容所(队列)
猫狗收容所使用两个队列,且队列元素为带有顺序的结构体。参考代码:#include<cstdio>#include<queue>using namespace std;struct animal{ int number; int order; animal(int n,int o):number(n),order(o){}};int main(){ queue<animal> cats,dogs; int n,m,t,o=0; scanf原创 2021-05-08 20:53:44 · 226 阅读 · 0 评论 -
牛客历年机试真题--约瑟夫问题(队列)
约瑟夫问题使用循环队列解题参考代码:#include<cstdio>#include<queue>using namespace std;int main(){ int n,p,m; while(scanf("%d%d%d",&n,&p,&m)==3) { if(n==0&&p==0&&m==0) break; queue<int> q; for(int i=1;i<n;原创 2021-05-08 20:46:10 · 89 阅读 · 0 评论 -
牛客历年机试真题--首字母大写
首字母大写刷题链接: link.题目描述对一个字符串中的所有单词,如果单词的首字母不是大写字母,则把单词的首字母变成大写字母。 在字符串中,单词之间通过空白符分隔,空白符包括:空格(’ ‘)、制表符(’\t’)、回车符(’\r’)、换行符(’\n’)。输入描述:输入一行:待处理的字符串(长度小于100)。输出描述:可能有多组测试数据,对于每组数据,输出一行:转换后的字符串。输入:if so, you already have a google account. you can sign i原创 2021-05-04 17:34:22 · 122 阅读 · 0 评论 -
牛客历年机试真题--浮点数加法
浮点数加法刷题链接: link.题目描述求2个浮点数相加的和 题目中输入输出中出现浮点数都有如下的形式: P1P2…Pi.Q1Q2…Qj 对于整数部分,P1P2…Pi是一个非负整数 对于小数部分,Qj不等于0输入描述:对于每组案例,每组测试数据占2行,分别是两个加数。输出描述:每组案例是n行,每组测试数据有一行输出是相应的和。输出保证一定是一个小数部分不为0的浮点数输入:0.1111111111111111111111111111110.1111111111111111111111111原创 2021-05-04 17:26:24 · 155 阅读 · 0 评论 -
牛客历年机试真题--单词替换
单词替换刷题链接: link.题目描述输入一个字符串,以回车结束(字符串长度<=100)。该字符串由若干个单词组成,单词之间用一个空格隔开,所有单词区分大小写。现需要将其中的某个单词替换成另一个单词,并输出替换之后的字符串。输入描述:每组数据输入包括3行,第1行是包含多个单词的字符串s,第2行是待替换的单词a(长度<=100),第3行是a将被替换的单词b(长度<=100)。s, a, b 最前面和最后面都没有空格。输出描述:每个测试数据输出只有 1 行, 将s中所有单词a替换原创 2021-05-03 23:36:11 · 222 阅读 · 0 评论 -
牛客历年机试真题--统计字符
统计字符刷题链接: link.题目描述统计一个给定字符串中指定的字符出现的次数。输入描述:测试输入包含若干测试用例,每个测试用例包含2行,第1行为一个长度不超过5的字符串,第2行为一个长度不超过80的字符串。注意这里的字符串包含空格,即空格也可能是要求被统计的字符之一。当读到’#'时输入结束,相应的结果不要输出。输出描述:对每个测试用例,统计第1行中字符串的每个字符在第2行字符串中出现的次数,按如下格式输出: c0 n0 c1 n1 c2 n2其中ci是第1行中第i个字符原创 2021-05-03 23:27:13 · 201 阅读 · 0 评论 -
牛客历年机试真题--找位置
找位置刷题链接: link.题目描述对给定的一个字符串,找出有重复的字符,并给出其位置,如:abcaaAB12ab12 输出:a,1;a,4;a,5;a,10,b,2;b,11,1,8;1,12, 2,9;2,13。输入描述:输入包括一个由字母和数字组成的字符串,其长度不超过100。输出描述:可能有多组测试数据,对于每组数据,按照样例输出的格式将字符出现的位置标出。输入:abcaaAB12ab12输出:a:0,a:3,a:4,a:9b:1,b:101:7,1:112:8,2:1原创 2021-04-27 21:49:44 · 189 阅读 · 0 评论 -
牛客历年机试真题--Day of week(日期问题)
Day of week刷题链接: link.题目描述We now use the Gregorian style of dating in Russia. The leap years are years with number divisible by 4 but not divisible by 100, or divisible by 400. For example, years 2004, 2180 and 2400 are leap. Years 2005, 2181 and 2300 a原创 2021-04-12 18:16:27 · 167 阅读 · 0 评论 -
牛客历年机试真题--日期差值(日期问题)
日期差值刷题链接: link.题目描述有两个日期,求两个日期之间的天数,如果两个日期是连续的我们规定他们之间的天数为两天输入描述:有多组数据,每组数据有两行,分别表示两个日期,形式为YYYYMMDD输出描述:每组数据输出一行,即日期差值示例1:输入:2011041220110422输出:11我的代码:(注意输入可以直接使用long long类型,且方便比较大小)#include<cstdio>int judge(int y){ if((y%400==0)|原创 2021-04-12 18:01:13 · 118 阅读 · 0 评论 -
牛客历年机试真题--日期累加(日期问题)
日期累加刷题链接: link.题目描述设计一个程序能计算一个日期加上若干天后是什么日期。输入描述:输入第一行表示样例个数m,接下来m行每行四个整数分别表示年月日和累加的天数。输出描述:输出m行,每行按yyyy-mm-dd的个数输出。示例1:输入:12008 2 3 100输出:2008-05-13我的代码:(注意累加过程中闰年判断)#include<cstdio>bool judge(int y){ if((y%400==0)||(y%100!=0&原创 2021-04-08 23:16:27 · 106 阅读 · 0 评论 -
牛客历年机试真题--打印日期(日期问题)
打印日期刷题链接: link.题目描述给出年分m和一年中的第n天,算出第n天是几月几号。输入描述:输入包括两个整数y(1<=y<=3000),n(1<=n<=366)。输出描述:可能有多组测试数据,对于每组数据,按 yyyy-mm-dd的格式将输入中对应的日期打印出来。示例1:输入:2000 32000 312000 402000 602000 612001 60输出:2000-01-032000-01-312000-02-092000-02原创 2021-04-08 23:11:08 · 109 阅读 · 0 评论 -
牛客历年机试真题--今年的第几天(日期问题)
今年的第几天刷题链接: link.题目描述输入年、月、日,计算该天是本年的第几天。输入描述:包括三个整数年(1<=Y<=3000)、月(1<=M<=12)、日(1<=D<=31)。输出描述:输入可能有多组测试数据,对于每一组测试数据,输出一个整数,代表Input中的年、月、日对应本年的第几天。示例1:输入:1990 9 202000 5 1输出:263122我的代码:(注意闰年判断条件)#include<cstdio>bo原创 2021-04-08 23:06:50 · 127 阅读 · 0 评论 -
牛客历年机试真题--百鸡问题(枚举)
反序数刷题链接: link.题目描述:设N是一个四位数,它的9倍恰好是其反序数(例如:1234的反序数是4321)求N的值输入描述:无任何输入数据输出描述:输出具有题目要求的性质的数。如果输出数据不止一组,各组数据之间以回车隔开。示例1:输入:输出:思路:首位和末位只能取1和9,然后双重循环找出中间两位我的代码:#include<cstdio>int main(){ for(int a=0;a<=9;a++) { for(int b=0;b<原创 2021-03-13 13:56:39 · 101 阅读 · 0 评论 -
牛客历年机试真题--与7无关的数(枚举)
与7无关的数刷题链接: link.题目描述一个正整数,如果它能被7整除,或者它的十进制表示法中某个位数上的数字为7, 则称其为与7相关的数.现求所有小于等于n(n<100)的与7无关的正整数的平方和。输入描述:案例可能有多组。对于每个测试案例输入为一行,正整数n,(n<100)输出描述:对于每个测试案例输出一行,输出小于等于n的与7无关的正整数的平方和。示例1:输入:21输出:2336我的代码:(注意是无关的数)#include<cstdio>boo原创 2021-03-13 13:50:39 · 175 阅读 · 0 评论 -
牛客历年机试真题--反序数(枚举)
反序数刷题链接: link.题目描述:设N是一个四位数,它的9倍恰好是其反序数(例如:1234的反序数是4321)求N的值输入描述:无任何输入数据输出描述:输出具有题目要求的性质的数。如果输出数据不止一组,各组数据之间以回车隔开。示例1:输入:输出:思路:首位和末位只能取1和9,然后双重循环找出中间两位我的代码:#include<cstdio>int main(){ for(int a=0;a<=9;a++) { for(int b=0;b<原创 2021-03-11 22:50:06 · 94 阅读 · 0 评论 -
牛客历年机试真题--对称平方数1(枚举)
对称平方数1刷题链接: link.题目描述:打印所有不超过256,其平方具有对称性质的数。如2,11就是这样的数,因为22=4,1111=121。输入描述:无任何输入数据输出描述:输出具有题目要求的性质的数。如果输出数据不止一组,各组数据之间以回车隔开。示例1:输入:输出:思路:循环遍历,临时变量n存储数的逆序,再与m比较是否相同。我的代码:#include<cstdio>int main(){ for(int i=0;i<=256;i++) {原创 2021-03-11 22:36:44 · 82 阅读 · 0 评论 -
牛客历年机试真题--abc(枚举)
KY15 abc刷题链接: link.题目描述:设a、b、c均是0到9之间的数字,abc、bcc是两个三位数,且有:abc+bcc=532。求满足条件的所有a、b、c的值。输入描述:题目没有任何输入。输出描述:请输出所有满足题目条件的a、b、c的值。a、b、c之间用空格隔开。每个输出占一行。示例1:输入:输出:我的代码:(双重循环即可解决问题)#include<cstdio>int main(){ for(int a=0;a<=9;a++) { fo原创 2021-03-10 22:40:39 · 104 阅读 · 0 评论 -
牛客历年机试真题--skew数(入门级)
KY45 skew数刷题链接: link.题目描述:在 skew binary 表示中,第 k 位的值 x[k] 表示 x[k]×(2^(k+1)-1)。每个位上的可能数字是 0 或 1,最后面一个非零位可以是 2,例如,10120(skew) = 1×(2^5-1) + 0×(2^4-1) + 1×(2^3-1) + 2×(2^2-1) + 0×(2^1-1) = 31 + 0 + 7 + 6 + 0 = 44。前十个 skew 数是 0、1、2、10、11、12、20、100、101、以及 102原创 2021-03-10 21:59:44 · 111 阅读 · 0 评论