Nguồn đề bài: http://www.spoj.com/PTIT/problems/P145PROC/
Nội dung bài viết
1. Đề bài P145PROC spoj
Cho 2 số nguyên A và B, A modulo B là phần dư của A khi chia cho B. Ví dụ, 7, 14, 27 và 38 lần lượt là 1, 2 , 0 và 2 theo modulo 3.
Cho trước một dãy số có 10 phần tử. Bạn hãy viết chương trình tính số lượng số giá trị khác nhau trong dãy sau khi lấy modulo 42.
Input
Gồm 10 số nguyên không âm <= 1000.
Output
Ghi ra một số nguyên duy nhất là số lượng giá trị có trong dãy số sau khi lấy MOD 42.
Example
Test 1:
Input:
1
2
3
4
5
6
7
8
9
10
Output:
10
Test 2:
Input:
42
84
252
420
840
126
42
84
420
126
Output:
1
Test 3:
Input:
39
40
41
42
43
44
82
83
84
85
Output:
6
2. Gợi ý giải bài P145PROC spoj PTIT
– bài này khá đơn giản, bạn chỉ cần sử dụng mảng đánh dấu là được
3. Code tham khảo P145PROC spoj PTIT
a. Code c++
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | #include <stdio.h> #include <memory.h> using namespace std; int main() { int i,sum=0,x, a[43]; memset(a,0,sizeof(a)); for (i=1; i<=10; i++) { scanf("%d",&x); a[x%42]++; } for (i=0; i<=42; i++) if (a[i]!=0) sum++; printf("%d",sum%42); } |
b. Code pascal
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 | const fi=''; type data=longint; var f:text; A:array[0..42] of data; i,x:data; sum:data=0; begin assign(f,fi); reset(f); fillchar(a,sizeof(a),0); for i:=1 to 10 do begin readln(f,x); inc(a[x mod 42]); end; close(f); for i:=0 to 42 do if a[i]<>0 then sum:=sum+1; writeln(sum mod 42); end. |
Bài viết liên quan
- PTIT121G spoj PTIT – Quan hệ
- P145PROF spoj PTIT – Quán cà phê
- P141PROB spoj PTIT – Tuần lễ công dân
- P167PROE spoj PTIT – ROUND 7E – Phương trình
- PTIT016E spoj PTIT – ACM PTIT 2016 E – Kỳ thi ACM/ICPC
- PTIT016D spoj PTIT- ACM PTIT 2016 D – Biểu thức
- Spoj PTIT PTIT016C – ACM PTIT 2016 C – Chẵn lẻ
- PTIT127A spoj PTIT – Tổ chức kì thi
- P164SUMI spoj PTIT – ROUND 4I – Next round
- PTIT135J spoj PTIT – Tính lãi suất