NOI上看到的几个小学奥数
:余数相同问题
查看 提交 统计 提问
总时间限制: 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上看到的几个小学奥数的更多相关文章
- 鬼知道NOI会不会成为下一个奥数
认真写作文不可能的,这辈子不可能认真写作文的. (月考,期末考,高考即将到达战场,真香警告) 以下应该成为原稿!!! 真.喜欢写感悟,但我感觉我可能把它写的有点商业化,商业化的文章不可能放的,所以我尽 ...
- 【GDKOI2017】 两个胖子萌萌哒 小学奥数题
题目大意:给你一个$n\times m$的网格,你要在这个网格上画三角形. 三角形的顶点只能在网格的整点上,且至少有一条边平行于$x$或$y$轴,且三角形面积为整数.问你能画多少个不同的三角形. 两个 ...
- [CSP-S模拟测试]:方程的解(小学奥数)
题目描述 给出一个二元一次方程$ax+by=c$,其中$x$.$y$是未知数,求它的正整数解的数量. 输入格式 第一行一个整数$T$,表示有$T$组数据.接下来$T$行,每行$3$个整数$a$.$b$ ...
- python基础===一道小学奥数题的解法
今早在博客园和大家分享了一道昨晚微博中看到的小学奥数题,后来有朋友给出了答案.然后我尝试用python解答它. 原题是这样的: 数学题:好事好 + 要做好 = 要做好事,求 “好.事.做.要”的值分别 ...
- luogu 1258 小车问题 小学奥数(?)
题目链接 题意 甲.乙两人同时从A地出发要尽快同时赶到B地.出发时A地有一辆小车,可是这辆小车除了驾驶员外只能带一人.已知甲.乙两人的步行速度一样,且小于车的速度.问:怎样利用小车才能使两人尽快同时到 ...
- NOIp 数学 (小学奥数)
Basic knowledge \[ C_n^m=\frac{n!}{m!(n - m)!} \] 快速幂 // Pure Quickpow inline int qpow(int n, int m, ...
- 一个hin秀的小学三年级奥数题 [hin秀]
~~~~~~不知为何总会被小学的题虐哭QAQ,真的秀啊,毒害广大小朋友~~~~~~ 一个hin秀的小学三年级奥数题 [hin秀] 题目: 给出一个无限大的棋盘 n×n (n>0 , 是 ...
- 「浙江理工大学ACM入队200题系列」问题 J: 零基础学C/C++83——宁宁的奥数路
本题是浙江理工大学ACM入队200题第八套中的J题 我们先来看一下这题的题面. 题面 题目描述 宁宁参加奥数班,他遇到的第一个问题是这样的:口口口+口口口=口口口,宁宁需要将1~9 九个数分别填进对应 ...
- 【xsy1116】数学题 奥数题
真实奥数题 题目大意:给你正整数k$,r$.问你存在多少对$(x,y)$,满足$x<y$且$x^2+y^2=kz^2$,并将所有符合条件的数对输出. 数据范围:$r≤1e9$,$k={1,2,3 ...
随机推荐
- SQL 创建随机时间的函数
set ANSI_NULLS ON set QUOTED_IDENTIFIER ON go ALTER function [dbo].[fn_Randtime] ( @begin_date datet ...
- 自己总结SVN必知点
1.只有添加或删除文件,才与xcodeproj文件有关 2.本地新建文件,为未知文件,符号为问号?,添加文件先add为A文件后,再commit 3.删除文件为叹号,右键删除为D,删除本 ...
- [jquery]模仿radio单项选择
今天写了个小功能,模仿radio单选, //单选收货地址 $(".wuliu-table-to").find(".called").click(function ...
- 个人Win10 +archlinux安装笔记
win10+archlinux 1.查看磁盘并分区并挂载1.1 分区/dev/sda1 WIN10 保留分区/dev/sda2 WIN10 ESP分区(EFI)/dev/sda3 WIN10 MSR分 ...
- 使用 CUDA范例精解通用GPU编程 配套程序的方法
用vs新建一个cuda的项目,然后将系统自动生成的那个.cu里头的内容,除了头文件引用外,全部替代成先有代码的内容. 然后程序就能跑了. 因为新建的是cuda的项目,所以所有的头文件和库的引用系统都会 ...
- UItableview 添加 uisearchController
@property (nonatomic, strong) UISearchController* searchController; self.searchController = [[UISear ...
- Android图片上传问题小结
1.图片的显示 出现OOM,原因一般为图片太大, 直接进行尺寸压缩即可. 2.图片的上传(服务器有大小限制) 出现OOM,原因一般为图片太大, 做一次尺寸压缩, 再做一次质量压缩,压缩质量(0-100 ...
- SVM实现邮件分类
首先学习一下svm分类的使用. 主要有以下步骤: Loading and Visualizing Dataj Training Linear SVM Implementing Gaussian Ker ...
- 解决Yii2 启用_csrf验证后POST数据仍提示“您提交的数据无法验证”
一 CSRF 概念 CSRF(Cross-site request forgery跨站请求伪造,也被称为“One Click Attack”或者Session Riding,通常缩写为CSRF或者XS ...
- Java 8相关
语言生态系统中的所有语言都有优胜劣汰的压力.虽然Java语言当前还在健康发展,但是保不定哪天就完蛋了. Java8增加的新特性从根本上来说是为了提高搬砖的姿势和效率. 多核编程的更好支持. 方法成为一 ...