初级编程入门题3
(2012-03-06 17:19:02)
标签:
正整数字母组合问题描述教育 |
分类: pascal初级编程入门题 |
四、编程提高题
232、给出一个自然数N(1<=N<=15,且N为奇数),要求找出这样的N个连续的正整数,使得前(N+1)/2个正整数的平方和,等于后(N-1)/2个正整数的平方和。
例如:当N=5时
输入:N
输出:满足条件的N个正整数
234、给出一个正整数N(N<=32767),要求将其分解成质因子的连乘积。
输出:如(A)或(B)格式的结果
235、输入N和一组整数(以0结束),N表示编号1,2,…,N的箱子,一组整数表示零件的重量(单位为G)。现要求将一批零件,分别装入编号为1,2,…,N的N只箱子中去,装入的方法是:
100G<=零件重量<150G
150G<=零件重量<200G
236、编制一个乘法运算的程序从键盘读入2个100以内的正整数,进行乘法计算并输出。
237、输入三个自然数N,I,J(1<=I<=N,1<=J<=N)。N表示有一个N行N列的棋盘格子,(I,J)表示棋盘中格子的位置。如:N-4,I-2,J-3表示了棋盘中的第二行第三列的格子。
如下图:
|
第1行 第二行 第三行 第四行 |
|
|
|
|
|
|
|
|
(2,3) |
|
|
|
|
|
|
|
|
|
|
|
238、问题描述:给出一个正整数N(1≤N≤100),即可得到一个由N 个正整数组成的从1开始的如下数列:1,2,3,4,……N-2,N-1,N,且可求出从1开始的这N个数的全部各个数位上的数字之和。
则这12个数的数字之和为:
239、问题描述:
输入两个真分数的分子与分母(分子与分母的值均不大于3000),对这两个分数进行加法计算。若符合条件,则应将计算的结果化为带分数。
例如:
2,3
3,8
1,8
240、问题描述:
键盘输入两个高精度的整数,编程实现这两个高精度整数的减法运算,两数均不会超过240位。要求输出该减法运算的算式与结果。
例如:
241、求数组元素
问题描述:给出任意一个自然数N(N≤100),输出满足下列条件的数组元素及不同方案数,条件是:
242、所谓丑数,就是那些因子只含2,3,5的数。1,2,3,4,5,6,8,9,10,12,15是最前面的11个丑数。为方便起见,将1也看作是丑数。
请编写一个程序寻找并打印第N个(N<=3000)个丑数。
输入:N
输出:The N'th ugly number is <number>
(其中N用输入数取代,<number>换为对就于N值所计算出的丑数)
输入样例:
N=11
输出样例:The 11'th ugly number is 15.
243、找出N位自然数中(N<=8)具有下列性质的数:如果将这个数分为两部分,且位数相等,然后将这两部分相加,所得和的平方,等于原来那个数。从键盘输入N,输出符合性质的数,各数间用空格分隔。
244、字母组合
问题描述:字母A,B,C的所有可能的组合(按字典顺序排序)是:A,AB,ABC,AC,B,BC,C
每个组合都对应一个字典顺序的序号,如下所示:
1
2
3
4
5
6
7
任务1:找出某个字母组合的字典序号。例如,AC的字典序号是4
任务2:找出该字母组合下的第N个字母组合。例如N=2,即AC的后N个字母组合为BC
输入:输入包括3行
第一行
第二行
第三行
输出:输出包括2行
第一行
第二行 第M个字母组合
输入样例:3
输出样例:2
245、字符串匹配问题
字符串中只含有括号 (),[],<>,{},判断输入的字符串中括号是否匹配。如果括号有互相包含的形式,从内到外必须是<>,(),[],{},例如。输入:
[()] 输出:YES,而输入([]), ([])都应该输出NO
输入:文件的第一行为一个整数n,表示以下有多少个由括好组成的字符串。接下来的n行,每行都是一个由括号组成的长度不超过255的字符串。(input.txt)
输出:在输出文件中有N行,每行都是YES或NO。(output.txt)
246、寻找第K大数
一堆数有N个,我想从大到小排成一排,从中挑出第K大的那个数进行采样分析请你帮忙挑出来。
输入:输入文件的第一行为二个整数N和K,表示整数的个数(N,K<=10000),下面N行每行为一个整数,其值都在(-32768~32767)之间。(input.txt)
输出:输出文件只有一个数,为第K大整数(output.txt)
247、自然数的分解方案数
一个自然数可以写成若干个小于等于自己的自然之和,这叫该自然数的一个分解。不同的分解是表示这个自然数分解成的所有自然数不完全相同。
例如:3=2+1和3=1+1+1表示不同的分解。而3=2+1和3=1+2为相同的分解。
现在的任务是,给出一个自然数,要求所有不同的分解方案数。
输入:输入文件的只有一个自然数N,N<=10000。(input.txt)
输出:输出文件只有一个数,为N的分解方案数。(output.txt)
248、超级素数:一个n位超级素数是指一个n位正整数,它的前1位,前2位, . . . , 前n位均为素数,例如,7331是个4位超级素数,因为7,73,733,7331均为素数。由键盘输入n (n<9), 然后输出全部的n位超级素数。
249、问题描述:一个整数的整数字串是由该整数的连续数位的数字构成。程序名为例如:6158的子串包括6,1,5,8,61,15,58,615,158,6158
任务:找出最大的质数子串
输入:整数N(0<=N<=1000000000)
输出:N的最大质数子串,若所有子串都是非质数,则输出“No primes”
输入样例1: 2319
输出样例1: 31
输入样例2:6804
输出样例2:No primes
250、找出N位自然数中(N<=8)具有下列性质的数:如果将这个数分为两部分,且位数相等,然后将这两部分相加,所得和的平方,等于原来那个数。从键盘输入N,输出符合性质的数,各数间用空格分隔。
251、
1.
2.
3.
重复以上过程,总能得到最后结果是6174。
试编写一个程序,实现卡布列克运算,要求以下面的格式输出全部运算过程和结果,统计需要运算的步数(如下例为3步)。
输出格式:
252、对于一个五位数a 1a2a3a4a5,可将其拆分为三个子数:
输入
输入由键盘输入,输入仅一行,为正整数K(0<K<1000)。
输出
输出到文件,输出文件的每一行为一个满足条件的五位数,要求从小到大输出。不得重复输出或遗漏。如果无解,则输出“No”。
样例
num.in
15
num.out
22555
25555
28555
30000
253、溢出 over.pas
输入文件
一行包含整数和运算符,运算符(‘+’,‘-’,‘*’,‘div’)
输出文件
先输出一遍原输入,并在后面输出0到3行适当内容,
如:first number is too big
result number is too big
例如:
输入
300+3
300000*300000
9999999999999999999+1
建议用int64来处理,范围大小是
(-9223372036854775808 ..
9223372036854775807
254、请你编一程序实现两种不同进制之间的数据转换。
输入:
输入数据共有三行,第一行是一个正整数,表示需要转换的数的进制n(2≤n≤16),第二行是一个n进制数,若n>10则用大写字母A~F表示数码10~15,并且该n进制数对应的十进制的值不超过1000000000,第三行也是一个正整数,表示转换之后的数的进制m(2≤m≤16)。
输出:
样例:
change.in
16
FF
2
change.out
11111111
255、阶乘问题 也许你早就知道阶乘的含义,N阶乘是由1到N相乘而产生,如:
12! = 1 x 2 x 3 x 4 x 5 x 6 x 7 x 8 x 9 x 10 x 11 x 12 =
479,001,600
12的阶乘最右边的非零位为6。
写一个程序,计算N(1<=N<=50,000,000)阶乘的最右边的非零位的值。
注意:10,000,000!有2499999个零。
输入
仅一行包含一个正整数N。
输出
单独一行包含一个整数表示最右边的非零位的值。
样例
fact.in
12
fact.out
6
256、4位数排列。
例如:
257、圆环上求素数。
|
⑨ |
|
⑧ |
|
⑦ |
|
⑥ |
|
⑤ |
|
④ |
|
③ |
|
② |
|
① |
|
0 |
给出一个取数长度L(1<=L<=5),然后从1开始按顺时针方向连续取L个数字,拼成一个长为L位的数。此时共有9个长为L位的数,然后输出这9个数中的素数。
例如:L=2,此时9个长为L位的数为:
程序要求:输入:L
258、求分数和的最小值。
例如:
并设字符串的长度L<=8(包括'$')。
今将数字字符串分成三个部分(分法为任意的),例如:
从上例可看出,当数字串给出之后,分成三部分的分法是许多的(每一部分不能为空),对每一种分法,可以得到三个数和三个分数.
例如:
分法'31','24','56'对应的三个数为31,24,56
若给出的数字串中,非0的字符少于3个,则此时不能组成三个数,输出一个'ERROR'。
例如:'12$','100100$'……
259、最大最小差(MaxMin)
问题描述:
现在有N个正整数,每一次去掉其中2个数a和b,然后加入一个数a*b+1,这样最后只剩下一个数P。要求求出最大的P记为MaxP,最小的p记MinP,和他们的差K=MaxP-MinP。
对于给定的数列,编程计算出它的Max,Min和K。
输入文件(MAXMIN.IN):
第一行是数列的长度N(不超过50),以下N行,每行一个正整数(不超过2位)。
输出文件(MAXMIN.OUT):
输出一共三行,每行一个整数,依次为max,min,K。
输入输出样例:
|
MAXMIN.IN |
MAXMIN.OUT |
|
2 1 1 |
2 2 0 |
260、输入一个英文句子,例如:“This is a Book.",可以看到句子是以“.”来作为结束符号的,并且单词之间以一个空格来分隔。接着再输入一个单词A,请找出首次在句子中出现的与A$相同的单词,是句子中的第几个单词,若不存在,则输出该句子中单词字符的总个数。
261、我们将左右对称的自然数称为回文数,例如:121,4114等;
将只能被1与其本身整除的自然数称之为素数,例如:7,353等。
键入N,M,求出N至M(含N与M)之间既是回文数又是素数的自然数共有多少个?
262、现代数学的著名证明之一是Georg
Cantor证明了有理数是可枚举的。他是用下面这一张表来证明这一命题的:
|
1/1
2/1
3/1
4/1
5/1
… |
|
1/1 2/1
3/1
4/1
5/1
… |
1/4
263、给出二个任意的正整数N,K(1<=N<=10000,0<=K<N),然后进行如下操作:(30%)
264、生日日期 ( Birthday )
问题描述:
小甜甜的生日是YY年MM月DD日,他想知道自己出生后第一万天纪念日的日期(出生日算第0天)。
输入格式:
从文件的第一行分别读入YY,MM,DD其中1949<=YY<=2002,日期绝对合法。
输出格式:
输出文件只有一行,即小甜甜生日第一万天以后的日期,格式为 “YY-MM-DD”。
样例:
|
BIRTHDAY.DAT |
BIRTHDAY.OUT |
|
1975 7 15 |
2002-11-30 |
265、 分解因式 ( Factor )
问题描述:
一个自然数N的正因子个数记为F(N),例如18的所有正因子为1、2、3、6、9、18,所以F(18)=6。现在给出K,求所有满足F(N)=K的N中最小的数。
输入格式:
从文件读入数据,第一行为K,其中0<K<=80。
输出格式:
输出到文件第一行,如果存在不大于20000的解,则输出这个N,否则输出“NO SOLUTION”。
样例1:
|
FACTOR.DAT |
FACTOR.OUT |
|
9 |
36 |
样例2:
|
FACTOR.DAT |
FACTOR.OUT |
|
17 |
NO SOLUTION |
266、 K好数(K-Good Number)
问题描述:
如果一个自然数N的K进制表示中任意的相邻的两位都不是相邻的数字,那么我们就说这个数是K好数。求L位K进制数中K好数的数目。例如K = 4,L = 2的时候,所有K好数为11、13、20、22、30、31、33 共7个。给定K、L,求L位K好数的数目。
输入格式:
从文件读入数据,第一行为K、L,其中K<=16,L<=10。
输出格式:
将结果输出到 KGOOD.OUT
样例
|
KGOOD.DAT |
KGOOD.OUT |
|
4 2 |
7 |
267、Sramoc问题 ( Sramoc Problem )
问题描述:
Sramoc ( K , M ) 表示用数字0、1、2…、K-1组成的自然数中能被M整除的最小数。给定 K、M,求Sramoc ( K,M )。例如 K=2,M=7的时候,Sramoc( 2 , 7 ) = 1001。
输入格式:
从文件SRAMOC.DAT读入数据。第一行为两个整数K、M满足2<=K<=10、1<=M<=1000。
输出格式:
输出Sramoc(K,M) 到 SRAMOC.OUT。
样例
|
SRAMOC.DAT |
SRAMOC.OUT |
|
2 7 |
1001 |
268、 数位和与积
269、顺序数串无穷小数
小明构造了一个无穷小数x=0.1234567891011…9899100101…,其中的数字是依次写下各自然数而得到的。试求出小数点后第m位数字。
270、NCL是一家专门从事计算器改良与升级的实验室,最近该实验室收到了某公司所委托的一个任务:需要在该公司某型号的计算器上加上解一元一次方程的功能。实验室将这个任务交给了一个刚进入的新手ZL先生。为了很好的完成这个任务,ZL先生首先研究了一些一元一次方程的实例:
-5+12y=0
ZL先生被主管告之,在计算器上键入的一个一元一次方程中,只包含整数、小写字母及+、-、=这三个数学符号(当然,符号“─”既可作减号,也可作负号)。方程中并没有括号,也没有除号,方程中的字母表示未知数。
编写程序,解输入的一元一次方程, 将解方程的结果(精确至小数点后三位)输出至屏幕。
输出:
271、任意给定一个自然数N,寻找一个M,要求M是N的倍数,且它的所有各位数字都是0或1组成,并要求M尽可能小
例如:输入
272、由M个数组成环行,要求输出他们相邻的四个数的最大值和最少值
(输出第一行为最大值,第二行为最少值)
例如:
输入
1
273、方阵填数:在一个N N的方阵中,填入1,2,……N N个数,并要求构成如下的格式:
|
N=6 16 17
18 19 20 15 30
31 32 21 14 29
36 33 22 13 28
35 34 23 12 27
26 25 24 11
10 |
|
N=5 13 14
15 16 12 23
24 17 11 22
25 18 10 21
20 19
|
274、若将一个正整数化为二进制数,在此二进制数中,我们将数字1的个数多于数字0的个数的这类二进制数称为A类数,否则就称其为B类数。
例如:输入 1
输出A:1

加载中…