Reduced ID Numbers
Description
T. Chur teaches various groups of students at university U. Every U-student has a unique Student Identification Number (SIN). A SIN s is an integer in the range 0 ≤ s ≤ MaxSIN with MaxSIN = 10
6-1. T. Chur finds this range of SINs too large for identification within her groups. For each group, she wants to find the smallest positive integer m, such that within the group all SINs reduced modulo m are unique.
Input
On the first line of the input is a single positive integer N, telling the number of test cases (groups) to follow. Each case starts with one line containing the integer G (1 ≤ G ≤ 300): the number of students in the group. The following G lines each contain one SIN. The SINs within a group are distinct, though not necessarily sorted.
Output
For each test case, output one line containing the smallest modulus m, such that all SINs reduced modulo m are distinct.
Sample Input
2 1 124866 3 124866 111111 987651
Sample Output
1 8
解题思路:标记数组
没什么好的办法,从1开始枚举,开一个标记数组bool p[i]表示存不存在余数是i的ID Numbers,出现的话跳出循环,否则继续标记,直到最先找到i使得任意一个ID number对i均不同余为止,此时i最小,即为我们所要的最小的满足每组各个同学编号均不同余。
注意:不要对每一个i都进行memset(p,false,sizeof(p)),数组p[maxn]很大会超时,只需将可能出现的p[1-i]初始化为false即可。
参考代码+部分解释:
#include
#include
#include
#include
Fibonacci Again
Problem Description
There are another kind of Fibonacci numbers: F(0) = 7, F(1) = 11, F(n) = F(n-1) + F(n-2) (n>=2).
Input
Input consists of a sequence of lines, each containing an integer n. (n < 1,000,000).
Output
Print the word "yes" if 3 divide evenly into F(n).
Print the word "no" if not.
Sample Input
0
1
2
3
4
5
Sample Output
no
no
yes
no
no
no
解题思路:同余定理的应用。
参考代码:
#include
#include
#include
#include