A题:在储存价格的时候,在价格的末尾再加一位数,0表示没被选,1表示被选了,这样就能保证不超内存。
已知 A C 求B的个数。(A能整除C)
起初以为K是当作变量来做,但是很明显,如果K当作变量那么显然B的个数是无数个。
因为任意C*K,B都可以等于C*K.
所以,显然K要当作常量, 那么K是多少其实是无所谓的,直接当作1即可。
C题: n位数的最小的一个能被49整除的数。 利用快速幂求出 10^n % 49,求得的这个数设为t。49-t 就是我们所求数的末两位。
前面的各位显然是100000XX 。 在n小于等于2 的时候特判即可
H题: 给出三个速度v1v2v3,和操场周长L,求第n次相遇。
比较明显的是求出v1v2,v2v3相对速度v12、v23,然后L分别除以v12、v23得1、2和2、3的相遇时间t1,t2,然后求时间的最小公倍数,再乘n。
但是t1,t2是小数,求最小公倍数很麻烦,需要暴力枚举。我们需要推导来得到更快速的方法。
推导得到 这个最小公倍数就是 L/(X) ,X是v12、v23的最大公约数。
推导的关键在于,求两个分数的最大公约数,需要把两个数乘上分母的公倍数P,然后得到两个整数,求他们的最大公约数,再除以P。
代码不发了。
其他题当时AC了,感觉没什么好BB的~~
实在需要的话也可以找我
Problem B: 小刀带你们玩游戏
Description
xdlove很喜欢小刀,所以他经常去找小刀玩,有一天他们两个在玩跳跃的游戏,规则是这样的:两个人以相同的速度往前跳跃,但是每次跳跃距离不同,小刀每次跳跃距离为A米,xdlove每次跳跃距离为B米,他们两个只在离原点K*C(K是大于等于1的整数)米处同时落地。现在xdlove告诉你A和C,你能告诉xdlove他的跳跃距离B有多少个不同的值吗?
Input
输入数据为T组(T<=1000),每组数据读入两个数A,C。(数据保证A能够整除C且1<=C=1e9)
Output
对于每一个测试实例,输出一个数X,表示B的种数,换行
Sample Input
Sample Output
Problem C: 魔幻任务
Description
数字47一向被数学界的人认为是很魔幻的一个数字,和47有关的任务被认为是魔幻任务。某天,doubleegg正在做着这类魔幻任务,路过的奇牛看到了,他说,你研究了老半天,研究出了什么?我来问你个简单的问题,我想知道长度为n位能够被47整除最小的数,你会吗?会吗?吗??由于doubleegg已经被奇牛的气场震晕过去,所以这个魔幻任务只能交给你了,聪明的你,一定想得到的。
Input
第一行输入一个样例数T(T<=1000)
下面每一行输入一个n(n<=10000)
Output
每一行输出一个答案,假设不存在,输出-1
Sample Input
Sample Output
Problem H: 跑操场
Description
Three_Sbs赛跑,不不不,是三个sb绕一环形跑道赛跑,每个sb有一定的速度v1、v2、v3(单位为 米/秒 ),给出跑道周长L(单位为 米), 问三个sb 第N次相遇的时间(单位为 秒)。
Input
第一行输入样例组数T
接下来每组数据占一行,N,L,v1,v2,v3,含义如题目描述,所有数据均为[1,100]的整数且保证不会存在 v1,v2,v3三者均相等 的数据。
Output
每组输出占一行,输出一个实数,保留小数点后两位,表示第N次相遇的时间。