文库 真题 信息学奥赛

2000年NOIP信息学奥赛提高组复赛C++真题

noip真题 信息学奥赛题库 PDF   4页   下载0   2024-07-05   浏览97   收藏0   点赞0   评分-   2500字   免费文档
温馨提示:当前文档最多只能预览 2 页,若文档总页数超出了 2 页,请下载原文档以浏览全部内容。
2000年NOIP信息学奥赛提高组复赛C++真题 第1页
2000年NOIP信息学奥赛提高组复赛C++真题 第2页
剩余2页未读, 下载浏览全部
2000年全国青少年信息学(计算机)奥林匹克分区联赛复赛试题 (高中组 竞赛用时: 3小时) 题一 进制转换 (18分) 问题描述: 我们可以用这样的方式来表示一个十进制数:将每个阿拉伯数字乘以一个以该数字所处位置的(值减 1) 为指数,以 10为底数的幂之和的形式。例如, 123可表示为 1*10^2+2*10^1+3*10^0这样的形式。与之相 似的,对二进制数来说,也可表示成每个二进制数码乘以一个以该数字所处位置的(值 -1)为指数,以 2 为底数的幂之和的形式。一般说来,任何一个正整数 R或一个负整数 -R都可以被选来 作为一个数制系统的 基数。如果是以 R或-R为基数,则需要用到的数码为 0,1,....R-1。例如,当 R=7时,所需用到的数码 是0,1,2, 3,4,5和6,这与其是 R或-R无关。如果作为基数的数绝对值超过 10,则为了表示这些数码,通常使用 英文字母来表示那些大于 9的数码。例如对 16进制数来说,用 A表示10,用B表示11,用C表示12,用 D表示13,用E表示14,用F表示15。在负进制数中是用 -R作为基数,例如 -15(+进制)相当于 110001 (-2进制),并且它可以被表示为 2的幂级数的和数: 110001=1*(-2)^5+1*(-2)^4+0*(-2)^3+0*(-2)^2+0*(-2)^1+1*(-2)^0 问题求解: 设计一个程序,读入一个十进制数的基数和一个负进制数的基数,并将此十进制数转换为此负进制下的数: -R∈{-2,-3,-4,....-20} 输入: 输入的每行有两个输入数据。 第一个是十进制数 N(-32768<=N<=32767); 第二个是负进制数的基数 -R。 输出: 结果显示在屏幕上,相对于输入,应输出此负进制数及其基数,若此基数超过 10, 则参照16进制的方式处理。 样例: 输入 30000 -2 -20000 -2 28800 -16 -25000 -16 输出 30000=11011010101110000(base -2) -20000=1111011000100000(base -2) 28800=19180(base -16) -25000=7FB8(base -16) 题二 乘积最大 (22分) 问题描述: 今年是国际数学联盟确定的“ 2000——世界数学年”,又恰逢我国著名数学家华罗庚先生诞辰 90周年。 在华罗庚先生的家乡江苏金坛,组织了一场别开生面的数学智力竞赛的活 动,你的一个好朋友 XZ也有幸 得以参加。活动中,主持人给所有参加活动的选手出了这样一道题目 : 设有一个长度 N的数字串,要求选手使用 K个乘号将它分成 K+1个部分,找出一种分法,使得这 K+1个部 分的乘积能够为最大。 同时,为了帮助选手能够正确理解题意,主持人还举了如下的一个例子: 有一个数字串 : 312,当N=3,K
NOIP2000提高组复赛试题,2000年NOIP信息学奥赛提高组复赛C++真题
下载提示

下载及版权说明:6547网文库内容来自网络及各平台公开内容(属于用户上传,不保证正确性,只做参考),旨在帮助同学们学习少儿编程相关知识及内容,仅限内部学习及使用,以分享为主,下载本文档之后请合法使用相关、真题、素材、课件、教程等内容,若内容存在侵权,请进行 举报 及查看 免责声明