学校程序设计竞赛题_第1页
学校程序设计竞赛题_第2页
学校程序设计竞赛题_第3页
学校程序设计竞赛题_第4页
学校程序设计竞赛题_第5页
已阅读5页,还剩3页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、程序设计竞赛试题试题一 :625 这个数字很特别, 625 的平方等于 390625,刚好其末 3 位是 625 本身。除了 625, 还有其它的 3 位数有这个特征吗?请编写程序,寻找所有这样的 3 位数:它的平方的末 3 位是这个数字本身。 输出结果中,从大到小,每个找到的数字占一行,输出这个数和它的平方。比如那个 625 就输出为:625 390625程序代码 C#:/ <summary>/ 查找所有的它平方的末位与这个数字本身相同的 3位数/ </summary>static void Main()int square = 0; / 声明三位数的平方int ma

2、ntissa = 0; / 声明平方的末三位/ 遍历所有的三位数for (int i = 100; i <= 1000; i+)square = i * i;/ 获取三位数的平方mantissa = square % 1000; / 获取三位数平方的末三位/ 比较 ?if (i = mantissa)/ 输出符合条件的三位数和其平方 Console.WriteLine("0 1" , i, square);试题二 :考虑方程式:aA3 + bA3 = cA3 + dA3其中:“a”表示乘方。a、b、c、d是互不相同的小于 30的正整数。 这个方程有很多解。比如:a =

3、 1,b=12,c=9,d=10 就是一个解。因为:1的立方加 12 的立方等于 1729,而 9 的立方加 10 的立方也等于 1729。当然, a=12, b=1,c=9,d=10 显然也是解。如果不计 abcd 交换次序的情况,这算同一个解。你的任务是:找到所有小于 30 的不同的正整数解。把 a b c d 按从小到大排列,用逗号 分隔,每个解占用 1 行。比如,刚才的解输出为:1,9,10,12 不同解间的顺序可以不考虑。程序代码 C#:static void Main()int aaa = 0;int bbb = 0;int ccc = 0;int ddd = 0;for (int

4、 a = 1; a < 30; a+)for (int b = a + 1; b < 30; b+)for (int c = b + 1; c < 30; c+)for (int d = c + 1; d < 30; d+) aaa = a * a * a;bbb = b * b * b;ccc = cc;ddd = Math .Pow(d, 3);if (aaa + ddd) = (bbb + ccc)Console.WriteLine( "0,1,2,3" , a, b, c, d); 试题三 :正整数的连续正整数表示一个正整数有可能可以被表示为

5、n(n>=2) 个连续正整数之和,如:15=1+2+3+4+5 15=4+5+6 15=7+8请编写程序,根据输入的任何一个正整数,找出符合这种要求的所有连续正整数序列。输入数据:一个正整数。输出数据: 在标准输出上打印出符合题目描述的全部正整数序列, 每行一个序列, 每个 序列都从该序列的最小正整数开始、 以从小到大的顺序打印。 如果结果有多个序列, 按各序 列的最小正整数的大小从小到大打印各序列。 此外, 序列不允许重复, 序列内的整数用一个 空格分隔。如果没有符合要求的序列,输出“NON”E。例如,对于 15,其输出结果是:1 2 3 4 54 5 67 8 对于 16,其输出结果

6、是:NONE 程序代码 C#: static void Main( string args)int input = int .Parse(Console.ReadLine(); int count = 1;int sum = 0;int exsit = 0;for (int i = 1; i < input; i+) sum += i; if (sum = input) for (int k = count; k <= i; k+) Console.Write("0 ", k); Console.WriteLine();exsit+; sum = 0; coun

7、t+; i = count - 1;if (i = input - 1) count+; i = count - 1; sum = 0;if (exsit = 0)Console.WriteLine( "NONE");试题四 :防御导弹某国为了防御敌国的导弹袭击, 发展出一种导弹拦截系统。 但是这种导弹拦截系统有一 个缺陷: 虽然它的第一发炮弹能够达到任意的高度, 但是以后每一发炮弹都不能高于前一发 的高度 。某天,雷达捕捉到敌国的导弹来袭。 由于该系统还在使用阶段, 所以只有一套系统, 因此有可能不能拦截所有的导弹。输入最多 20 个整数,分别表示导弹依次飞来的高度(雷达

8、给出高度数据是不大于 30000 的 正整数)输出两个整数M和N。表示:这套系统最多能拦截 M枚导弹,如果要拦截所有导弹最少 要配备 N 套这种导弹系统。例如 :输入以下数据 :300 250 275 252 200 138 245输出结果为 :5 2程序代码 C#: (如果拦截后面时,能拦的更多,则选择不拦前面少的?)static void Main( string args)int input = new int 20;int max = 0;Console.WriteLine(”请输入不高于30000的高度,最多可以输入 20个数,输入终止1");int entry = int

9、.Parse(Console.ReadLine();int count = 0; / 输入数的个数while (entry != -1)inputcount = entry;count+;if (count = input.Length - 1)ConsoleWriteLine("您已经输入了 20个数");entry = int .Parse(Console.ReadLine();int coun = 1;int system = 0;for (int i = 1; i < count; i+) if (inputi < inputi - 1) coun+;i

10、f (inputi > inputi - 1) if (max < coun) max = coun;coun = 0; system+;Console.WriteLine("0 1", max, system);试题五 :尾部 0 的个数计算算式1n + 2n + 3n + . + mn的结果尾部有多少个连续的 0.输入 :满足 1 <= m <= 100 , 1 <= n <= 1 000000的任意数对输出 :所统计出的 0 的个数例如 :输入 4,3 结果输出 2程序代码 C#:static void Main()string s

11、uit = Console.ReadLine();int position = new int 2;int j = 0;string array = suit.Split(',' ); foreach (string i in array) positionj = Convert.ToInt32(i);j+;double sum = 0.0;string str = ""int count = 0;for (int i = 1; i <= position0; i+)sum = sum +Math .Pow(i, position1);str = su

12、m.ToString();if (str.Substring(str.Length - 1, 1) ="0")count+;for (int i = str.Length - 2; i > -1; i-)if (str.Substring(i + 1, 1) ="0" ) && (str.Substring(i, 1) = "0")count+;elsebreak;Console.WriteLine("0t1" , sum, count);试题六 :青蛙的约会两只青蛙在网上相识了,它们聊得很开

13、心,于是觉得很有必要见一面。 它们很高兴地 发现它们住在同一条纬度线上, 于是它们约定 各自朝西跳 ,直到碰面为止。 可是它们出发之 前忘记了一件很重要的事情, 既没有问清楚对方的特征, 也没有约定见面的具体位置。 不过 青蛙们都是很乐观的, 它们觉得只要一直朝着某个方向跳下去, 总能碰到对方的。 但是除非 这两只青蛙在 同一时间跳到同一点上 ,不然是永远都不可能碰面的。 为了帮助这两只乐观的 青蛙,你被要求写一个程序来判断这两只青蛙是否能够碰面,会在什么时候碰面。我们把这两只青蛙分别叫做青蛙 A和青蛙B,并且规定纬度线上东经 0度处为原点,由东往 西为正方向,单位长度 1 米,这样我们就得到

14、了一条首尾相接的数轴。设青蛙 A 的出发点 坐标是x,青蛙B的出发点坐标是y。青蛙A一次能跳m米,青蛙B 一次能跳n米,两只青蛙跳一次所花费的时间相同。纬度线总长L 米。现在要你求出它们跳了几次以后才会碰面。Input输入只包括一行5 个整数 x, y,m,n,L,其中y < 20000000000 < m、n < 2000000000,0 < L < 2100000000。Output 输出碰面所需要的跳跃次数,如果永远不可能碰面则输出一行 "Impossible"Sample Input1 2 3 4 5Sample Output4 程序代码 C#:static void Main() string suit = Console.ReadLine();int position = new int 5;int j = 0;string array = suit.Split(',' );foreach (string i in array)positionj = Convert.ToInt32(i); j+;/起e始o?long aFrog = position0;

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论