:余数相同问题
查看 提交 统计 提问
总时间限制: 1000ms 内存限制: 65536kB
描述
已知三个正整数 a,b,c。 现有一个大于1的整数x,将其作为除数分别除a,b,c,得到的余数相同。 请问满足上述条件的x的最小值是多少? 数据保证x有解。 输入
一行,三个不大于1000000的正整数a,b,c,两个整数之间用一个空格隔开。
输出
一个整数,即满足条件的x的最小值。
样例输入 样例输出

解:设:a=k1*x+r;b=k2*x+r;c=k3*x+r,消去r:

a-b=(k1-k2)*x

b-c=(k2-k3)*x

a-c=(k1-k3)*x

现在有3个数n1,n2,n3求它们的最小公约数。可以继续把它们互相做减法,得到一系列数m1,m2,m3……集合n中的数和m中的数都能被最小公倍数整除,所以我们可以继续做减法,直到这些数足够小之后,取较小的两个的最小公约数。例如题目中的数据,300-262=38;262-205=57;57-38=19,19已经是一个质数了,所以它就是答案,如果还不是质数可以继续做减法。下一个题是蓄水池问题就不说了,从小落下的病根,看这个就想吐。

:我家的门牌号
查看 提交 统计 提问
总时间限制: 1000ms 内存限制: 65536kB
描述
我家住在一条短胡同里,这条胡同的门牌号从1开始顺序编号。 若所有的门牌号之和减去我家门牌号的两倍,恰好等于n,求我家的门牌号及总共有多少家。 数据保证有唯一解。 输入
一个正整数n。n < 。
输出
一行,包含两个正整数,分别是我家的门牌号及总共有多少家,中间用单个空格隔开。
样例输入 样例输出

解:设最大门牌号y,则有平均门牌号(y+1)/2,所以门牌号之和为y(y+1)/2。

设我家门牌号x,依题意有y(y+1)/2-2x=n。即:y(y+1)=2n+4x。

因x>0所以有:y(y+1)>2n。

例如题中数据,n=100,则可知y>=14。再利用1<=x<=y即可解出一个解。

:不定方程求解
查看 提交 统计 提问
总时间限制: 1000ms 内存限制: 65536kB
描述
给定正整数a,b,c。求不定方程 ax+by=c 关于未知数x和y的所有非负整数解组数。 输入
一行,包含三个正整数a,b,c,两个整数之间用单个空格隔开。每个数均不大于1000。
输出
一个整数,即不定方程的非负整数解组数。
样例输入 样例输出

解:方程等价于x/b+y/a=c/(a*b)。设y=0则有x=c/a;设x=0则有y=c/b。

于是0<=x<=c/a且0<=y<=c/b。

由此可知,由于c/a整除b时x才为整数,所以:c/a/b+1(0这个解)就是解个数,或者c/b/a+1都一样。

:乘积最大的拆分
查看 提交 统计 提问
总时间限制: 1000ms 内存限制: 65536kB
描述
将正整数n拆分为若干个互不相等的自然数之和,问如何拆分可以使得它们的乘积最大? 输入
一个正整数n。n <= 。
输出
一行,包含若干个互不相等的自然数——乘积最大的一种拆分方案。这些自然数需从小到大输出,两个自然数之间用单个空格隔开。
样例输入 样例输出

这个题应该是这样解,因为拆的份数越多(除了1之外)乘的结果越大,所以从2开始拆,不让相等那就拆成2、3、4……,最后如果还差点,那也没有办法,因为前面都是挨个来的,所以只能加到最后一个数上面。如题目中15,拆成2、3、4、5之后还剩下一个,那就拆2、3、4、6。

:回文数个数
查看 提交 统计 提问
总时间限制: 1000ms 内存限制: 65536kB
描述
不超过n位的正整数中,有多少个回文数? 输入
一个正整数n,n <= 。
输出
一个整数,即回文数个数。
样例输入 样例输出

这个题就不捣鼓方程了,所谓回文数就是正着反着看都是一样的,例如ABA,当然1位的话怎么看都一样。所以有:

1位数的时候1-9一共9个。

2位数的时候11-99一共9个。

然后递推就可以了:

1、向1位数两边各添一位相等的数,例如1两边都加2就是212,显而易见由于首位0的限制,只能有9种情况。但是,这时要注意,中间的那一位可以为0了,所以一共有9*(9+1)种情况。

2、向2位数两边各添加一位相等的数,情况与上面1相同,也有90种。

所以有结论:1、2位9种,3、4位90种,5、6位900种……题目让求和,那么1位有9种,2位18种,3位108种,4位198种……

以上,剩下再看到有趣的再写。

:连乘积末尾0的个数
查看 提交 统计 提问
总时间限制: 1000ms 内存限制: 65536kB
描述
给定两个正整数a,b(a < b)。求连乘积: a×(a+)×(a+)×...×(b-)×b 的末尾有多少个0? 输入
一行,包括两个正整数a,b。a < b <=
输出
一个整数,即连乘积末尾0的个数。
样例输入 样例输出

  这个题比上一个李白的酒(通项:0.5*2^(n-1))有意思,从a乘到b,关注末尾的数字:0是怎么来的?考虑这样几种情况:

1、a个位为0:自然增加一个结尾0。

2、a个位为5:遇到下一个偶数(就是a+1)才得到一个结尾0或00或000…………,但根据题意a<b它一定会遇到。

3、a个位为1、2、3、4、6、7、8、9:奇数咋也乘不出来10来,偶数遇到5才行。

所以,这个题目需要检查一些特殊的情况:a=25,b=26和a=25,b=28结尾0个数是不一样的。当然,题目中所给的数字很容易判断:

11-56一共跨越了15、20、25、30、35、40、45、50、55一共9个可以造成末尾0的数字,而其中25、50含有2个5,所以结果是11个。而如果a和b跨度较短,则需要检测是否有足够的偶数消耗掉了5。当然,在广泛的范围内,也需要证明5可以被消耗完成,否则就只能挨个乘结尾为偶数和5的数字了。下一个题目分苹果就很简单了,n个小盆友每个人得到不同数目苹果,至少需要多少个?记得当初老太办公室一叔叔1+2+3……+100都难的我好半天。汗颜啊……

:质数的和与积
查看 提交 统计 提问
总时间限制: 1000ms 内存限制: 65536kB
描述
两个质数的和是S,它们的积最大是多少? 输入
一个不大于10000的正整数S,为两个质数的和。
输出
一个整数,为两个质数的最大乘积。数据保证有解。
样例输入 样例输出

从手动解的角度来看……这个题就只好有依据(两个乘数越接近积越大,n^2>(n+1)(n-1)这个。从s/2开始,s/2±2、4、6……)的蒙了,好吧,叫尝试法。没说两个质数不能相等吧?25、25不行,23、27不行,21、29不行,19、31看来就是了。从编程的角度来看,先计算sqrt(s)之前的筛子,然后也是类似的过程。

:最大公约数与最小公倍数
查看 提交 统计 提问
总时间限制: 1000ms 内存限制: 65536kB
描述
两个正整数的最大公约数是G,最小公倍数是L,它们的和最小是多少? 输入
两个不大于10000的正整数G和L,中间用单个空格隔开。数据保证L是G的倍数。
输出
一个正整数,即最小的和。
样例输入 样例输出

这个题说的是两数的乘积为G*L,问它们的最小和。可以得到两个等式:

1、a+b=x

2、a*b=G*L

将2带入1,可得:a+G*L/a=x,即a^2-x*a+G*L=0。其有解的充要条件就是x^2>=4*G*L了。

例如题目数据,x>=sqrt(4*14*280)即x>125.2。编程求来说应该没什么难度,记得向上取整是ceil函数。但是手动就需要手工开方……好吧,早就还给老师了,我们这样:先质因数分解为:4*14*14*4*5,就剩下4*14*sqrt(5)了,如果还不记得,那只好继续猜:2^2<5<3^2,所以是2.?,接下来就忘了,可以二分试值。

:神奇序列求和
查看 提交 统计 提问
总时间限制: 1000ms 内存限制: 65536kB
描述
有一个序列,初始时只有两个数x和y,之后每次操作时,在原序列的任意两个相邻数之间插入这两个数的和,得到新序列。举例说明: 初始: 操作1次: 操作2次: …… 问操作n次之后,得到的序列的所有数之和是多少? 输入
三个整数x,y,n,相邻两个数之间用单个空格隔开。 <= x <= , <= y <= , < n <= 。
输出
一个整数,即最终序列中所有数之和。
样例输入 样例输出

这个问题很有规律,观察下一级时上一次的和被利用了几次。把和作为一个整体即可得到规律。

:求小数的某一位
查看
提交
统计
提问
总时间限制: 1000ms 内存限制: 65536kB
描述
分数a/b化为小数后,小数点后第n位的数字是多少?
输入
三个正整数a,b,n,相邻两个数之间用单个空格隔开。 < a < b < , <= n <= 。
输出
一个数字。
样例输入 样例输出

这个就编程来说似乎不算难,虽然用double也无法达到精度,但实际上实现起来甚至无需实现一个高精度除法:先求余,然后用余数乘10、100、1000、10000之类的(要看要求多少位了,其实每次都乘10代码最简单)就可以做出来了。笔算的话,我觉得应该是循环小数,否则就没有意思了。

:计算星期几
查看
提交
统计
提问
总时间限制: 1000ms 内存限制: 65536kB
描述
假设今天是星期日,那么过ab天之后是星期几?
输入
两个正整数a,b,中间用单个空格隔开。 < a <= , < b <= 。
输出
一个字符串,代表过ab​天之后是星期几。
其中,Monday是星期一,Tuesday是星期二,Wednesday是星期三,Thursday是星期四,Friday是星期五,Saturday是星期六,Sunday是星期日。
样例输入 样例输出
Tuesday

这个问题在上一个问题的路上越走越远。编程计算就是pow然后%7。手工计算的话,是利用幂的性质,把底数向7靠拢,以期消去幂指数的思路。

后面几个问题就不写了,没多大意思。

NOI上看到的几个小学奥数的更多相关文章

  1. 鬼知道NOI会不会成为下一个奥数

    认真写作文不可能的,这辈子不可能认真写作文的. (月考,期末考,高考即将到达战场,真香警告) 以下应该成为原稿!!! 真.喜欢写感悟,但我感觉我可能把它写的有点商业化,商业化的文章不可能放的,所以我尽 ...

  2. 【GDKOI2017】 两个胖子萌萌哒 小学奥数题

    题目大意:给你一个$n\times m$的网格,你要在这个网格上画三角形. 三角形的顶点只能在网格的整点上,且至少有一条边平行于$x$或$y$轴,且三角形面积为整数.问你能画多少个不同的三角形. 两个 ...

  3. [CSP-S模拟测试]:方程的解(小学奥数)

    题目描述 给出一个二元一次方程$ax+by=c$,其中$x$.$y$是未知数,求它的正整数解的数量. 输入格式 第一行一个整数$T$,表示有$T$组数据.接下来$T$行,每行$3$个整数$a$.$b$ ...

  4. python基础===一道小学奥数题的解法

    今早在博客园和大家分享了一道昨晚微博中看到的小学奥数题,后来有朋友给出了答案.然后我尝试用python解答它. 原题是这样的: 数学题:好事好 + 要做好 = 要做好事,求 “好.事.做.要”的值分别 ...

  5. luogu 1258 小车问题 小学奥数(?)

    题目链接 题意 甲.乙两人同时从A地出发要尽快同时赶到B地.出发时A地有一辆小车,可是这辆小车除了驾驶员外只能带一人.已知甲.乙两人的步行速度一样,且小于车的速度.问:怎样利用小车才能使两人尽快同时到 ...

  6. NOIp 数学 (小学奥数)

    Basic knowledge \[ C_n^m=\frac{n!}{m!(n - m)!} \] 快速幂 // Pure Quickpow inline int qpow(int n, int m, ...

  7. 一个hin秀的小学三年级奥数题 [hin秀]

    ~~~~~~不知为何总会被小学的题虐哭QAQ,真的秀啊,毒害广大小朋友~~~~~~ 一个hin秀的小学三年级奥数题    [hin秀] 题目: 给出一个无限大的棋盘  n×n  (n>0 , 是 ...

  8. 「浙江理工大学ACM入队200题系列」问题 J: 零基础学C/C++83——宁宁的奥数路

    本题是浙江理工大学ACM入队200题第八套中的J题 我们先来看一下这题的题面. 题面 题目描述 宁宁参加奥数班,他遇到的第一个问题是这样的:口口口+口口口=口口口,宁宁需要将1~9 九个数分别填进对应 ...

  9. 【xsy1116】数学题 奥数题

    真实奥数题 题目大意:给你正整数k$,r$.问你存在多少对$(x,y)$,满足$x<y$且$x^2+y^2=kz^2$,并将所有符合条件的数对输出. 数据范围:$r≤1e9$,$k={1,2,3 ...

随机推荐

  1. ios 消息通知

    苹果的通知分为本地通知和远程通知,这里主要说的是远程通知 历史介绍 iOS 3 - 引入推送通知UIApplication 的 registerForRemoteNotificationTypes 与 ...

  2. 会话控制:Cookie和session

    HTTP(超文本传输协议)定义了通过万维网(WWW)传输文本.图形.视频和所有其他数据所有的规则.HTTP是一种无状态的协议,说明每次请求的处理都与之前或之后的请求无关.虽然这种简化实现对于HTTP的 ...

  3. 铁区MES部分页面展示

    激活码: 76231722-2e7554593-b750-07e2f4844531 TIP: 若您激活不成功,可能是因为您所安装的软件版本较低,请尝试以下激活码 激活码: RXWY-A25421-K5 ...

  4. 198个经典C#WinForm实例源码(超赞) 里面的例子 .sln 目录

    \-窗体技巧\QQ窗体\QQFrm.sln; \-窗体技巧\仿XP系统的任务栏菜单\仿XP系统的任务栏菜单.sln; \-窗体技巧\向窗体中拖放图片并显示\向窗体中拖放图片并显示.sln; \-窗体技 ...

  5. keyCode,charCode,which

    1.触发顺序keydown keypress keyup,但keypress事件只有输入相关按键才会触发,功能按键不会触发keypress事件(keypress事件有个额外的charCode属性) 2 ...

  6. Android 自动化测试—robotium(九) Junit_report测试报告重定向输出到终端SDCard

    借鉴网上相关资料主要用于无root权限的终端.主要分为以下三步: 一.重写InstrumentationTestRunner类: package com.exmaple.test; import ja ...

  7. CentOS两台服务器利用scp拷贝文件

    yum install -y openssh-clients scp -r -P 26611 /usr/local/ssdb-20160518/ root@10.10.6.199:/usr/local ...

  8. Markdown工具的使用

    Markdown 工具的使用 基本操作 CMD-N 建立一个新的工作表 CMD-SHIFT-N 建立一个新的组 CMD-CTRL-N 建立一个新的过滤器 项目总是会被创建在当前所选的附近 工作表会被创 ...

  9. ZeroMQ接口函数之 :zmq_msg_set - 设置消息的性质

    ZeroMQ 官方地址 :http://api.zeromq.org/4-1:zmq_msg_set zmq_msg_set(3)  ØMQ Manual - ØMQ/3.2.5 Name zmq_m ...

  10. 一些简单编程练习题P【持续更新】

    Q1.写程序将“Hello World”打印到屏幕. A1. public class Test { public static void main(String[] args) { System.o ...