摘要: 洛谷P1478 陶陶摘苹果(升级版) 我的思路是先不管体力,先将够不到的苹果全部排除,然后将剩下的苹果按体力消耗升序排序,就可以求出最多可摘的苹果数目。 按照这个思路,我在做的时候遇到了两个难点。 ①怎样将够不到的苹果排除 够不到所以就不用摘,所以我将够不到的苹果所消耗的体力变大,只变大到大于陶陶自 阅读全文
posted @ 2020-02-05 17:07 zkw666 阅读(355) 评论(0) 推荐(0) 编辑
摘要: 用1,2,……,9组成的三位数,已得知最小数为123;最大为987。因为组成的三个三位数要满足1:2:3的关系,若987占其中3份, 则一份为987/3,也就是329。所以,用for循环的话,只用定义i(占一份的数)从123到329循环。(若i>329,则占三份的数3i>987,不符合题意) 我的先 阅读全文
posted @ 2020-02-02 16:01 zkw666 阅读(151) 评论(0) 推荐(0) 编辑
摘要: 我首先的思路是定义一个函数,来将输入的数转化为二进制的数,再判断二进制数中1多还是0多,从而判断是A类数还是B类数。 不过在二进制转化有些困难,就查了查资料: 例如:29。用短除法,不断除以2,每次将余数写在后面,直到最后商为0时,停止,从下至上读余数,就是29的二进制数。 有了这个概念,定义函数就 阅读全文
posted @ 2020-02-01 09:43 zkw666 阅读(1339) 评论(0) 推荐(0) 编辑
摘要: 这个题一开始的想法是定义两个函数,一个用来判断素数,另一个用来将输入的数做反序处理,再次判断是否为素数。 定义一个一维数组,用来存储符合题目条件的数。用一个计数器,来控制输入数组时的下标。 1 int m,n,i,k=0; 2 cin>>m>>n; 3 for(i=m; i<=n; i++) 4 i 阅读全文
posted @ 2020-01-31 17:29 zkw666 阅读(849) 评论(0) 推荐(0) 编辑
摘要: 当我做到一本通函数部分时,发现有好多题都与素数有关,并且大部分要定义新函数定义素数。 我记得好像讲过,但我也想不起来。所以我就再整理一下关于此的函数。 我搜了搜题解,它们大多数都是用“bool”定义的;如图: 1 bool a(int x) 2 { 3 int i=2; 4 if(x==1||x== 阅读全文
posted @ 2020-01-31 09:19 zkw666 阅读(178) 评论(0) 推荐(0) 编辑
摘要: 当输入“/”时,一般都是输出商,不会带小数点。 比如:2/3=0;9/2=4......都是 A/B=商。但有时,做题时想要保留小数点,我就不知道该怎么办。 如:一本通中的1072 我一开始的代码: 1 #include<iostream> 2 #include<cstdio> 3 using na 阅读全文
posted @ 2020-01-29 18:06 zkw666 阅读(163) 评论(0) 推荐(0) 编辑