
ACM例题
ACM例题
beyond谚语
你只管努力,剩下的交给天意。
展开
-
C---已知正整数n是两个不同的质数的乘积,试求出较大的那个质数。
已知正整数n是两个不同的质数的乘积,试求出较大的那个质数。思路:由题意可知,n为两个质数之积,也就是说只要找到一个数能够被n整除,这个数一定是质数!!!直接从2开始找,这里通过平方sqrt减小运算次数,找到质数,然后与n相除,找到另一个质数,比大小即可,选出最大那个即可。#include <stdio.h>#include <stdlib.h>#include <math.h>int main(){ int a,i,j,max; scanf(原创 2020-09-10 23:12:56 · 23687 阅读 · 10 评论 -
明明的随机数(快排)
明明想在学校中请一些同学一起做一项问卷调查,为了实验的客观性,他先用计算机生成了N个1到1000之间的随机整数(N≤100),对于其中重复的数字,只保留一个,把其余相同的数去掉,不同的数对应着不同的学生的学号。然后再把这些数从小到大排序,按照排好的顺序去找同学做调查。请你协助明明完成“去重”与“排序”的工作。输入格式:输入有2行第1行为1个正整数,表示所生成的随机数的个数:N第2行有N个用空格隔开的正整数,为所产生的随机数。输出格式:输出也是2行,第1行为1个正整数M,表示不相同的随机数的个数。原创 2020-07-25 00:04:41 · 248 阅读 · 0 评论 -
c/c++ 编程试题
c/c++ 编程试题带*号为选作题,给出代码截屏和编译运算结果截屏1.编程:选取M个最大的数 编程实现从N个无序数中选取M个最大的数(0 < M < N )2.编程:断开链条 给定一个包含N个整数的数组A,假设这个数组表示的是一条链条,其中 每个元素表示链条上的一环。现在我们想把这条链条断成3小部分。我们需 要做的就是断开不相连的两个环,比如,我们需要断开环P、Q(0<P<Q<N-1, Q-P > 1),得到三个小链条[0,P-1],[P+1,Q-1],[Q原创 2021-07-08 21:46:19 · 669 阅读 · 5 评论 -
C---编写程序:求出1~1000之间能被7或12整除,但不能同时被二者整除的所有整数,将结果保存在数组中,要求程序数据的输入、计算和输出均使用函数实现。
编写程序:求出1~1000之间能被7或12整除,但不能同时被二者整除的所有整数,将结果保存在数组中,要求程序数据的输入、计算和输出均使用函数实现。编程思路:分别编写函数input()、cal()、output()实现数据的输入、计算和输出,本节开始,引入指针的概念,将指针作为形参,数组名作为实参,实现对数组的赋值与计算。#include <stdio.h>#include <stdlib.h>/***1.编写程序:求出1~1000之间能被7或12整除,但不能同时被二者整除的原创 2020-05-27 21:16:13 · 3242 阅读 · 0 评论 -
回文数、括号匹配(栈操作)
回文数“xyzyx”是一个回文字符串,所谓回文字符串就是指正读反读均相同的字符序列,如“席主席”、“记书记”、“aha”和“ahaha”均是回文,但“ahah”不是回文。输入一行字符(仅包含小写英文字母a~z)请判断这行字符串是否为回文。输入格式:只有一行,仅包含小写英文字母a~z的字符串,长度小于等于100。输出格式:只有一行,如果是回文请输出YES,不是回文则输出NO,请注意大小写。样例 1 :输入:ahah输出:NO样例 2 :输入:ahaha输出:YES代码如下:#原创 2020-07-25 23:58:56 · 1000 阅读 · 0 评论 -
struct/class的数据对齐---简单解析
网上教程一大堆,我这边就不再赘述废话了思路方法:1,以四个为一组,最终的内存所占结果必须是四的倍数2,优先考虑四的整数倍,之后再考虑内存空间问题struct Beyond{ int a; char b; short c;};int main(){ struct Beyond yanyu; cout<<sizeof(yanyu)<<endl;}解释:首先int占4字节,char占1字节,short占2字节。以四为一组,先原创 2022-02-26 16:06:37 · 290 阅读 · 0 评论 -
2013年 833c语言程序 江南大学 (A卷)
1.编写程序实现求两个整数最大公约数和最小公倍数.2.假设一个小球从200米高的空中落下,每次反弹一半高度,求第5次落下小球经过的路径是多少?求第八次反弹高度是多少?3.求XX年XX月XX日到该年(即同一年)XX年XX日 相差多天?(同一天算一天,考虑瑞年问题)4.求子串husdstring在母串sdfstring中出现的次数?5.编写程序实现,输入一组数据,用冒泡法进行排序(编写一个函数...原创 2019-12-07 18:32:29 · 626 阅读 · 0 评论 -
计算机二级C语言易混淆的区别
1,if(a=1)与if(a==1)的区别首先,if(a=1) 等价于 a=1;if(a);而a == 1,是判断a是不是为1;if(sq)里面的分为两种情况,一种是sq为0,不执行if里面的代码内容;另一种是sq不为0,执行里面的代码内容。即为零与非零。若if(sq)没有带括号,则执行if下面一条代码。举例说明:if(a=0) 等价于 a=0;if(a);#includ...原创 2019-08-31 22:31:49 · 1428 阅读 · 0 评论 -
C---编写程序:实现一个随堂测试,能进行加减乘除运算。要求如下:(1)随机产生两个1~10的正整数,在屏幕上输出题目,如:5+3=?(2)学生输入答案,程序检查学生输入答案是否正确,若正确,
编写程序:实现一个随堂测试,能进行加减乘除运算。要求如下:1)随机产生两个1~10的正整数,在屏幕上输出题目,如:5+3=?2)学生输入答案,程序检查学生输入答案是否正确,若正确,则输出“Correct”,否则输出“No Correct”3)共10道题目#include<stdio.h>#include<stdlib.h>//rand()会返回一随机数值, 范围在0至RAND_MAX 间。RAND_MAX定义在stdlib.h, 其值为2147483647。int sho原创 2020-05-27 21:47:19 · 2601 阅读 · 1 评论 -
某公司面试题
一、基础题1,冯诺依曼结构的计算机硬件逻辑组成中,不包含以下哪个模块?A,编译器B,控制器C,输入设备D,输出设备解释:冯诺依曼由五个模块组成:输入设备 输出设备 存储器 控制器 运算器故答案选择:A2,假设有一个栈,元素依次进栈的顺序是A,B,C,D,E。下列不可能的出栈顺序是?A,EDCBAB,ABCDEC,BCDEAD,EABCD解释:栈:先进后出故答案选择:D3,[多选]C语言中,static关键字说法正确的有?A,用static修饰的全局变量可以在运行时修改B,用原创 2022-02-15 17:56:46 · 489 阅读 · 0 评论 -
考研C++必刷题(一)
【程序1】题目:有1、2、3、4个数字,能组成多少个互不相同且无重复数字的三位数?都是多少?解题思路:利用三层循环,分别控制百位十位个位,若百位十位个位有重复的,则不输出即可。代码如下:#include <iostream>#include <stdio.h>using namespace std;int main(){ int i,j,k,co...原创 2019-11-12 17:04:41 · 2929 阅读 · 0 评论 -
VisualStudio运行C++项目检测include<stdio.h>报错解决方案
一、项目—>属性二、将SDL检查更改为否即可原创 2022-03-18 19:15:45 · 7910 阅读 · 0 评论 -
在一个风景秀丽的小镇,一天早上,有N名晨跑爱好者(编号1~N)沿着优雅的江边景观道朝同一方向进行晨跑
在一个风景秀丽的小镇,一天早上,有N名晨跑爱好者(编号1~N)沿着优雅的江边景观道朝同一方向进行晨跑,第i名跑者从位置si处起跑,且其速度为Vi。换句话说,对所有的实数t≥0,在时刻原创 2022-01-01 17:16:18 · 1302 阅读 · 1 评论 -
已知一个掺杂了多个数字字符的中文名拼音,去掉所有数字字符之后,形式为“名”+空格+“姓”;并且名和姓的首字母大写,其他小写,要求输出姓名全拼,且全为小写。(后附详细样例说明)
已知一个掺杂了多个数字字符的中文名拼音,去掉所有数字字符之后,形式为“名”+空格+“姓”;并且名和姓的首字母大写,其他小写,要求输出姓名全拼,且全为小写。(后附详细样例说明)【输入形式】一个字符串,长度小于100,含一个空格,如3N32a4ns234ha89n0 Z23hon4g66【输出形式】去掉字符串种的所有数字字符,形成形式为”名“+空格+”姓“的中文名之后,再转换为全为小写的姓名全拼,如zhongnanshan【样例输入】3N32a4ns234ha89n0 Z23hon4g66【样例输原创 2022-01-01 16:54:07 · 4347 阅读 · 2 评论 -
形参与实参在函数中的传递
#include <iostream>#include <cstring>using namespace std;void myFun(int a[]);int main(){ int a[10]; cout<<"aaa"<<sizeof(a)<<endl;//40 int为4,a为10个int,故为40 cout<<"yy"<<sizeof(int)<<endl;//int占4原创 2021-11-13 15:50:34 · 1019 阅读 · 0 评论 -
C++---两数之和
【问题描述】给定一个整数数组 nums 和一个整数目标值 target,请你在该数组中找出 和为目标值 target 的那 两个 整数,并返回它们的数组下标。你可以假设每种输入只会对应一个答案。但是,数组中同一个元素在答案里不能重复出现。【输入形式】三行,第一行为一个整数,表示数组的长度。第二行为数组的元素。第三行为target值【输出形式】从小到大输出数组中该两个数的下标【样例输入1】42 7 11 913【样例输出1】0 2【样例输入2】33 2 46【样例输出2】1 2算原创 2021-11-02 22:50:12 · 1746 阅读 · 0 评论 -
C++---肿瘤面积
【问题描述】在一个正方形的灰度图片上,肿瘤是一块矩形的区域,肿瘤的边缘所在的像素点在图片 中用 0 表示。其它肿瘤内和肿瘤外的点都用 255 表示。现在要求你编写一个程序,计算肿瘤内部的像素点的个数(不包括肿瘤边缘上的点)。已知肿瘤的边缘平行于图像的边缘。【输入形式】输入的第一行是一个正整数n(3<=n<=600),表示正方形的边长,接下来的n行,每行有n个由空格隔开的n个整数,表示每个像素点。【输出形式】输出包括一行,这一行只包含一个整数,表示肿瘤内部的像素点的个数。【样例输入】原创 2021-11-01 17:51:17 · 994 阅读 · 0 评论 -
C++---汉明距离
两个整数之间的汉明距离指的是这两个数对应二进制位不同的位置的数目。【输入形式】给出两个整数x和y(0<=x,y<2^31),用空格分隔【输出形式】输出他们之间的汉明距离【样例输出】1 4【样例说明】00000000 00000000 00000000 0000000100000000 00000000 00000000 00000100思路:先对输入的俩数进行异或操作,相同为0,不同为1;然后判断含有多少个1即可。#include <iostream>#inc原创 2021-10-28 23:02:27 · 998 阅读 · 0 评论 -
莫比乌斯函数---C++
【问题描述】莫比乌斯函数,数论函数,由德国数学家和天文学家莫比乌斯(Mobius,1790-1868)提出。梅滕斯(Mertens)首先使用μ(n)作为莫比乌斯函数的记号。而据说,高斯(Gauss)比莫比乌斯早三十年就曾考虑过这个函数。莫比乌斯函数在数论中有着广泛的应用。莫比乌斯函数完整定义的通俗表达:1)莫比乌斯函数μ(n)的定义域是N2)μ(1)=13)当n存在平方因子时,μ(n)=04)当n是素数或奇数个不同素数之积时,μ(n)=-15)当n是偶数个不同素数之积时,μ(n)=1例如:原创 2021-10-25 21:55:58 · 2702 阅读 · 0 评论 -
两倍---C++
【问题描述】给定n个不同的正整数,你的任务是计算这些数里面有多少个数对满足:数对中一个数是另一个数的两倍,比如给定1 4 3 2 9 7 18 22,得到的答案是3,因为2是1的两倍,4是2的两倍,18是9的两倍。【输入形式】输入数据一共两行,第一行包括一个整数n,表示有多少个正整数;第二行是由空格隔开的n个正整数(2<=n<30)【样例输入】936 55 46 38 10 18 33 35 99【样例输出】1【样例说明】36是18的两倍思路:直接暴力,将每个数依次与所有的数进原创 2021-10-24 21:02:41 · 3898 阅读 · 0 评论 -
C---蝉、蜻蜓、蜘蛛
【问题描述】已知腿/条翅膀/对蝉61蜻蜓62蜘蛛80现有小虫n只,共有X条腿和Y对翅膀,问蝉、蜻蜓、蜘蛛各有多少只?请使用循环的知识解决,数据确保有解。【输入形式】三个用空格隔开的整数,依次为n、X、Y【输出形式】三个用空格隔开的整数,分别表示蝉、蜻蜓、蜘蛛的数量【样例输入】15 106 14【样例输出】0 7 8思路:直接暴力,三层循环,分别从蜘蛛、蜻蜓、蝉入手,判断条件为数量之和为n、腿之和为X、翅膀之和为Y。暴力就行。#inclu原创 2021-10-23 21:34:21 · 1872 阅读 · 7 评论 -
爬动的蠕虫(C++)
问题描述:一条虫子在n英寸深的井底,每次一分钟爬行u英寸,但是它再次爬行前必须先休息1分钟,在休息过程中它将滑落d英寸,在反复向上爬行和休息后,多长时间虫子能爬出这口井?在此过程中,分钟的小数部分向上取整,如果攀爬结束时虫子正好到达井口的顶部,则视为虫子已经爬出。假定d<u,n<100,当n=0时输入结束。输入形式:输入包括多个测试用例。每行包含3个整数n,u,d,为上面所提到的值。输出形式:每个测试用例输入一行,表示虫子爬出井的时间。样例输入:10 2 120 3 10 0原创 2021-10-20 22:27:28 · 1293 阅读 · 0 评论 -
非常好友(C++)
Bessie和其他的所有奶牛的耳朵上都戴有一个射频识别(RFID)序列号码牌。因此农夫John可以机械化地计算他们的数量。很多奶牛都有一个“牛友”。如果奶牛A的序列号的约数之和刚好等于奶牛B的序列号,那么A的牛友就是B。在这里,一个数的“约数”不包括这个数本身。因为一些奶牛的号码约数和大于其他任何奶牛的号码,所以这些奶牛没有牛友。而一些奶牛有一个“非常好友”,当两个奶牛互为“牛友”时,他们就是一对“非常好友”。注意在这道题中,忽略那些自己是自己的“非常好友”的情况。给定一个序列号S (6≤S≤18,00原创 2021-10-20 11:25:12 · 1184 阅读 · 0 评论 -
C++——已知a+b、 a+c、b+c、 a+b+c,求a、b、 c
有三个非负整数a、b、 C,现按随机顺序给出它们的两两和以及总和4个整数,即a+b、 a+c、b+c、 a+b+c, 注意,给出的4个数的顺序是随机的,请根据这四个数求出a、b、c是多少?[输入形式]输入为一-行4个正整数, x1、 x2、x3、 x4 (0≤xi≤109) ,表示a+b、a+c、b+c、a+ b+c结果的随机顺序的值,输入保证能求出结果。[输出形式]输出为一-行,以非递减的方式输出a、b、 c, 注意a、b、c可能相等。[样例输入1]3 6 5 4[样例输出1]1 2 3原创 2021-10-10 08:53:51 · 2748 阅读 · 0 评论 -
C++——统计多行单个字符类型个数
键盘输入n个字符,请分别统计大写字母、小写字母、数字、其他字符的个数并输出;还需要输出所有数字字符之和【输入形式】第一行为一个整数n(100 >= n >= 0),接下来n行每行一个字符【输出形式】输出第1行为4个整数,分别代表大写字母、小写字母、数字、其他字符的个数,第2行为一个数字,表示其中所有数字字符所对应的数字之和,当输入的字符中不包含数字字符时,没有第2行#include<iostream>using namespace std;int main(){原创 2021-10-08 19:39:05 · 557 阅读 · 0 评论 -
C---日常练习
若有以下定义语句:int a=5;printf("%d\n",a++);则输出结果是()解析:a++ 即先使用再自增,a的初始值即为5,则先使用,输出结果为5举个例子:int a=5,b;b=a++;//等价于 b=a;a=a+1printf("%d,%d",a,b);//结果很明显 6,5这道题可以直接把printf("%d\n",a++);当成printf("%d\n",b);这样就好理解了,a++就是b的值罢了如果对a++还没有理解,参考我的另一篇文章https://bl.原创 2021-08-25 23:44:58 · 762 阅读 · 0 评论 -
++i与i++的根本性区别(两个代码对比搞定)
首先来看++i代码如下:#include &lt;stdio.h&gt;#include &lt;stdlib.h&gt;int main(){ int i=0; int a=++i; printf("%d\n",a); printf("%d\n\n\n",i); return 0;}输出结果如下:解释:++i其原创 2019-01-19 15:48:48 · 1335 阅读 · 0 评论 -
c++
1,在c++中,求数组的长度所使用的代码是:int a[]={19,32,59,98,86,48,52,78,13};int len=sizeof(a)/sizeof(a[0]);//这里的第一个/第二个就类似与数组a的总长度/a[0](第一个数组的大小)=就等价于数组的长度;2,...原创 2018-03-17 12:05:04 · 244 阅读 · 0 评论 -
C
1, if(a)//这里的if条件即a不为0; { printf(“YES\n”); } else //这里的判断条件即a为0; { printf(“NO\n”); }翻译 2018-02-24 22:25:01 · 250 阅读 · 0 评论 -
C++ 随机数
#include < iostream> #include < ctime> #include < cstdlib>using namespace std;int main () { int i,j;// 设置种子 srand( (unsigned)time( NULL ) );/* 生成 10 个随机数 */ ...翻译 2018-02-22 11:10:27 · 222 阅读 · 0 评论 -
set和multiset集合容器
三、set集合容器简介:set集合的目的就是为了快速检索。set集合容器实现了红黑树的平衡二叉检索树的数据结构。使用set容器前,需要在程序的头文件中声明 #include &amp;lt; set &amp;gt;。函数方法总结:1,元素的插入与中序遍历 insert();2,元素的反向遍历,使用反向迭代器reverse_iterator,可以反向遍历集合,其中rbegin()和rend()这两个方法,...原创 2018-11-05 20:14:22 · 275 阅读 · 0 评论 -
string基本字符系列容器
二、string基本字符系列容器简介:C语言只提供了一个char类型来处理字符,而对于字符串,只能通过字符串数组来处理,显得十分不方便。C++STL提供了string基本字符系列容器来处理字符串,可以把string理解为字符串类,它提供了添加、删除、替换、查找和比较等丰富的方法。其中vector&lt; char &gt;这样的向量也可以处理字符串,但其功能比不上string。向量的元素类型可...原创 2018-11-02 18:40:33 · 185 阅读 · 0 评论 -
vector向量容器
一、Vector向量容器简介:Vector向量容器可以简单的理解为一个数组,它的下标也是从0开始的,使用时可以不用确定大小,但是它可以对于元素的插入和删除,可以进行动态调整所占用的内存空间,它里面有很多系统已经定义好了的函数方法,可以直接调用进行插入元素与在尾部扩张元素…函数方法总结:1,尾部元素扩张 push_back()2,返回首元素位置的迭代器 begin();3,返回最后一个元素...原创 2018-10-31 11:26:21 · 591 阅读 · 0 评论 -
公约数和公倍数
描述 小明被一个问题给难住了,现在需要你帮帮忙。问题是:给出两个正整数,求出它们的最大公约数和最小公倍数。 输入 第一行输入一个整数n(0随后的n行输入两个整数i,j(0输出 输出每组测试数据的最大公约数和最小公倍数 样例输入 3 6 6 12 11 33 22 样例输出 6 6 1 132 11 66代码如下#include int main()原创 2019-12-21 22:29:57 · 172 阅读 · 0 评论 -
鸡兔同笼问题
已知鸡兔的总数量为n,总腿数为m。输入n和m,依次输出鸡的数目和兔的数目。如果无解,则输出No answer。样例输入:①14 32 ② 10 16样例输出:①12 2 ②No answer【分析】设鸡有a只,兔有b只,则a+b=n,2a+4b=m,联立解得a=(4n-m)/2,b=n-a。无解条件:①a和b都是整数;②a和b必原创 2018-01-21 22:40:45 · 2108 阅读 · 2 评论 -
C小加 之 随机数
描述 ACM队的“C小加”同学想在学校中请一些同学一起做一项问卷调查,为了实验的客观性,他先用计算机生成了N个1到1000之间的随机整数(0输入 第一行输入整数T(1每组测试数据包括2行, 第1行为1个正整数,表示所生成的随机数的个数:N(0第2行有N个用空格隔开的正整数,为所产生的随机数。 (随机数为题目给定的,不需要ACMer生成) 输出 输出也是2行,第1行为1个正整数M原创 2018-01-30 21:26:09 · 207 阅读 · 0 评论 -
n-1位数
描述 已知w是一个大于10但不大于1000000的无符号整数,若w是n(n≥2)位的整数,则求出w的后n-1位的数。输入 第一行为M,表示测试数据组数。 接下来M行,每行包含一个测试数据。 输出 输出M行,每行为对应行的n-1位数(忽略前缀0)。如果除了最高位外,其余位都为0,则输出0。 样例输入 4 1023 5923 923 1000 样例输出 23 923原创 2018-01-23 17:27:03 · 370 阅读 · 0 评论 -
数数
描述 我们平时数数都是喜欢从左向右数的,但是我们的小白同学最近听说德国人数数和我们有些不同,他们正好和我们相反,是从右向左数的。因此当他看到123时会说“321”。现在有一位德国来的教授在郑州大学进行关于ACM的讲座。现在他聘请你来担任他的助理,他给你一些资料让你找到这些资料在书中的页数。现在你已经找到了对应的页码,要用英文把页码告诉他。为了简化我们的问题,你只需要返回单词的大写的首字原创 2018-01-31 14:36:55 · 339 阅读 · 0 评论 -
交换输出
描述 输入n(n输入 输入数据有多组,每组占一行,每行的开始是一个整数n,表示这个测试实例的数值的个数,跟着就是n个整数。n=0表示输入的结束,不做处理。 输出 对于每组输入数据,输出交换后的数列,每组输出占一行。 样例输入 4 2 1 3 4 5 5 4 3 2 1 0 样例输出 1 2 3 4 1 4 3 2 5代码如下#include int main原创 2018-01-31 19:40:42 · 263 阅读 · 0 评论 -
素数求和问题
描述现在给你N个数(0输入 第一行给出整数M(0每组测试数据第一行给你N,代表该组测试数据的数量。 接下来的N个数为要测试的数据,每个数小于1000 输出 每组测试数据结果占一行,输出给出的测试数据的所有素数和 样例输入 3 5 1 2 3 4 5 8 11 12 13 14 15 16 17 18 10 21 22 23 24 25 26 27 28 29原创 2018-01-24 20:16:52 · 330 阅读 · 0 评论