:余数相同问题
查看 提交 统计 提问
总时间限制: 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. 日志解析LogParse启动参数配置

    -task task_stat1001to1010.yaml -log log4j_stat1001to1010.xml 用绝对路径

  2. October 23rd Week 44th Sunday 2016

    When ambition ends, happiness begins. 野心消亡之日,正是快乐破茧之时. No ambition, no annoyance. No ambition, no ac ...

  3. 触发器--mysql

    SHOW TRIGGERS;查看所有触发器 create trigger tg1 after insert on user for each row beginupdate user set name ...

  4. 情人节那点事,Power BI告诉你

    情人节伴随着元宵节刚刚过去,Power BI团队就送给我们一份大礼,利用来自NRF(national retail foundation)和Bing搜索的数据,在Power BI中帮助我们发现在美国那 ...

  5. Android开发 代替 “(XXXX)findViewById()”

    public class NActivity extends Activity{ protected void onCreate(Bundle savedInstanceState){ setCont ...

  6. 基于socket的客户端和服务端聊天简单使用 附Demo

    功能使用 服务端 分离一个不停接受客户端请求的线程 接受不客户端请求的线程中,再分离就收消息的线程 几大对象分别是 IPEndPoint IP终结点 服务端Socket,绑定终结点Bind,启动监听L ...

  7. 超详细的Xcode代码格式化教程,可自定义样式

    为什么要格式化代码 当团队内有多人开发的时候,每个人写的代码格式都有自己的喜好,也可能会忙着写代码而忽略了格式的问题. 在之前,我们可能会写完代码后,再一点一点去调格式,很浪费时间. 有了ClangF ...

  8. SSH三大框架的JAR包下载地址

    官网的英文网站读起来有点费劲,把下载地址直接放到这儿,以后免得到处找了 Struts 2 : http://struts.apache.org/download.cgi#struts216 sprin ...

  9. SASS+COMPASS 自适应 学习笔记

    来源 http://snugug.github.io/RWD-with-Sass-Compass/#/ 1 安装 COMPASS 扩展 安装 方式 gem 'extension', '~>X.Y ...

  10. log4j日志文件 log4j.xml log4j.properties配置

    1,导入log4j  jar包; 2,配置log4j.xml或log4j.properties文件; ------------------------------------------------- ...