当前位置:首页 > c语言竞赛题目精选
每组中第一行为N,M,第二行为N个下标变量的值。
【数据输出】输出每一组数据中符合要求的下标值和下标变量值。
【样例输入】 2 5 1
6 8 3 4 5 3 2 1 2 3
【样例输出】 A(2)=8 A(2)=2
绝对值排序
Time Limit:1000MS Memory Limit:65536K Total Submit:79 Accepted:50
【问题描述】
输入n(n<=100)个整数,按照绝对值从大到小排序后输出。题目保证对于每一个测试实例,所有的数的绝对值都不相等。
【要求】
【数据输入】输入数据有多组,每组占一行,每行的第一个数字为n,接着是n个整数,n=0表示输入数据的结束,不做处理。
【数据输出】对于每个测试实例,输出排序后的结果,两个数之间用一个空格隔开。每个测试实例占一行。
【样例输入】 3 3 -4 2 4 0 1 2 -3 0
【样例输出】 -4 3 2 -3 2 1 0
求逆序对个数
Time Limit:1000MS Memory Limit:65536K Total Submit:64 Accepted:28
【问题描述】
有一实数或者字母序列A[1]、A[2] 、A[3] 、??A[n-1] 、A[n],若i<j,并且A[i]>A[j],则称A[i]与A[j]构成了一个逆序对,求字符串A中逆序对的个数。
【要求】
【数据输入】输入包括多个测试数据,每一行为一个,每个测试数据长度不超过50000。
【数据输出】输出每个数据的逆序对。
【样例输入】 52462326 AEDCB
kfeFES54saW
【样例输出】 12 6 35
阶乘的和
Time Limit:1000MS Memory Limit:65536K Total Submit:10 Accepted:4
【问题描述】
给一个非负整数,判断这个数是不是相互不同的非负整数的阶乘的和。 如6=3!;7=3!+ 1!;但5不是相互不同的非负整数的阶乘的和。
【要求】
【数据输入】有多组测试数据,输入为负数时结束。
【数据输出】如n是相互不同的非负整数的阶乘的和,输出YES,否则输出NO,每个一行。
【样例输入】 5 6
【样例输出】 NO YES
亲和数
Time Limit:1000MS Memory Limit:65536K Total Submit:35 Accepted:26
【问题描述】
古希腊数学家毕达哥拉斯在自然数研究中发现,220的所有真约数(即不是自身的约数)之和为: 1+2+4+5+10+11+20+22+44+55+110=284。
而284的所有真约数为1、2、4、71、 142,加起来恰好为220。人们对这样的数感到很惊奇,并称之为亲和数。一般地讲,如果两个数中任何一个数都是另一个数的真约数之和,则这两个数就是亲和数。
你的任务就编写一个程序,判断给定的两个数是否是亲和数
【要求】
【数据输入】输入数据第一行包含一个数M,接下有M行,每行一个实例,包含两个整数A,B; 其中 0 <= A,B <= 600000 ;
【数据输出】对于每个测试实例,如果A和B是亲和数的话输出YES,否则输出NO。
【样例输入】 2
220 284 100 200
【样例输出】 YES NO
麦森数
Time Limit:5s Memory limit:32M
Accepted Submit:114 Total Submit:585
【问题描述】
麦森数在数论中有着非常重要的地位,应用极广。形如2 ^ p – 1并且为质数的数字即为麦森数。可以证明当2^p-1 为一质数的时候,p为质数。
你的任务是对于给出的整数,判断他能不能表示成2^p-1的形式,且p为质数。
【要求】 【数据输入】输入包含多组测试数据。每行一组数据,包含一个不超过10^10000的整数。
【数据输出】 对于每组数据,如果该数字可以表示成2^p-1的形式,且p为质数,输出 “It may be a Mason number.” 否则,输出“It must not be a Mason number.”
【样例输入】 3
4 15
【样例输出】
It may be a Mason number. It must not be a Mason number. It must not be a Mason number.
*************************************************************************** 题目一:(7分)
1. 问题描述
正整数x 的约数是能整除x 的正整数。正整数x 的约数个数记为
div(x)。例如,1,2,5,10 都是正整数10 的约数,且div(10)=4。设a 和b 是2 个正整数,a≤b,找出a 和b之间约数个数最多的数x。
2. 要求:
对于给定的2 个正整数a≤b,编程计算a 和b 之间约数个数最多的数。
3. 输入:
输入数据由文件名为div.in的文本文件提供。文件的第1 行有2 个正整数a和b。
4. 输出:
程序运行结束时,若找到的a 和b 之间约数个数最多的数是x,将div(x)输出到文件div.out中。
5. 输入输出文件样例:
div.in 1 36
题目二:(7分)
div.out 9 1. 问题描述:
给定一个整数序列,求出子段序列的最大和,也就是一段连续和元素的和,使其和最大,(如果和为负数则返回0)。
2. 要求:
对于给定的n个数字的序列,编程计算最大子段和。
3. 输入:
由文件num.in给出输入数据。文件第一行为n,第二行为n个整数序列。
4. 输出:
共分享92篇相关文档