洛谷P4325 [COCI2006-2007#1] Modulo

题目链接

题目描述
Given two integers A and B, A modulo B is the remainder when dividing A by B. For example, the numbers 7, 14, 27 and 38 become 1, 2, 0 and 2, modulo 3. Write a program that accepts 10 numbers as input and outputs the number of distinct numbers in the input, if the numbers are considered modulo 42.

输入格式
The input will contain 10 non-negative integers, each smaller than 1000, one per line.

输出格式
Output the number of distinct values when considered modulo 42 on a single line.

题意翻译
描述

给出10个整数,问这些整数%42后有多少个不同的余数。 输入

输入包含10个小于1000的非负整数,每行一个。 输出

输出它们%42后,有多少个不同的余数。 说明

第一个样例的十个结果是1,2,3,4,5,6,7,8,9,10,有10个不同的结果;第二个样例结果都是0,只有一个不同的结果;第三个样例余数是39,40,41,0,1,2,40,41,0,1,有0,1,2,39,40,41这六个不同的结果。

感谢@ACdreamer 提供的翻译

注明:%42为除以42取余

输入输出样例
输入 #1
1
2
3
4
5
6
7
8
9
10
输出 #1
10
输入 #2
42
84
252
420
840
126
42
84
420
126
输出 #2
1
输入 #3
39
40
41
42
43
44
82
83
84
85
输出 #3
6
说明/提示
In the first example, the numbers modulo 42 are 1, 2, 3, 4, 5, 6, 7, 8, 9 and 10. In the second example all numbers modulo 42 are 0. In the third example, the numbers modulo 42 are 39, 40, 41, 0, 1, 2, 40, 41, 0 and 1. There are 6 distinct numbers.

代码:

#include
using namespace std;
int num[42], count[42] = {
     0}, flag = 0;
int main()
{
     
	for(int i = 0; i < 10; i++)
	{
     
		cin >> num[i];
		count[num[i] % 42]++;
	}
	for(int i = 0; i < 42; i++) if(count[i] > 0) flag++;
	cout << flag << endl;
	return 0;
}

你可能感兴趣的:(算法入门,枚举,暴力,排序算法,概率论,统计,COCI,Modulo)