Một dãy tuyến tính là 1 bộ 3 có thứ tự (s1,s2,s3) thỏa mãn s2-s1=s3-s2
Ví dụ: (1,2,3), (2,4,6), (14,21,28) là các dãy tuyến tính
Cho trước S (3≤S≤30) số nguyên tăng thuộc đọan [1,100], đếm số các dãy tuyến tính
Dữ liệu: Cho trong tập tin văn bản LSEQ.INP, dòng đầu là số nguyên S, dòng tiếp theo là S số nguyên, cách nhau ít nhất 1 khỏang trắng
Kết quả: Cho trong tập tin văn bản LSEQ.OUT, chứa số nguyên duy nhất chỉ số dãy tuyến tính tìm được.
Ví dụ:
LSEQ.INP LSEQ.OUT
7
1 2 3 4 6 8 9 5
Giải thích:
5 dãy tuyến tính tìm được là:
1 2 3
2 3 4
2 4 6
3 6 9
4 6 8
Đăng ký:
Đăng Nhận xét (Atom)
Bài được xem nhiều nhất
-
Cho dãy n số nguyên dương a1, a2, …, an và số nguyên dương S. Hãy đếm xem có bao nhiêu cặp phần tử (ai, aj) (i <> j) thỏa mãn ai + aj ...
-
Xét xâu S chỉ bao gồm các kí tự ngoặc mở ‘(‘ và ngoặc đóng ‘)’. Xâu S xác định một cách đặt ngoặc đúng, nếu thỏa mãn các điều kiện: · Tổng ...
-
Cho trước số nguyên dương n. Viết chương trình kiểm tra xem có bao nhiêu số nguyên dương nhỏ hơn hoặc bằng n nguyên tố cùng nhau với n (nghĩ...
-
Phân tích số nguyên dương thành tổng các số hạng của dãy Fibonaci sao cho ít số hạng nhất (các số hạng không được trùng nhau). Xem clip hư...
-
Nhập xâu s chỉ chứa các chữ cái viết hoa. Đếm xem s có bao nhiêu kí tự khác nhau. Input · Dòng 1: số test t · t dòng sau: mỗi dòng 1 xâu ...
-
Tìm X biết: 10 + 11 + 12 + 13 + ... + X = 5106 ------ Hướng dẫn giải: Hãy cố gắng nhớ lại công thức tính tổng dãy tăng có quy luật (số đ...
-
Đề thi tin học trẻ bảng C tỉnh Quảng Bình năm 2009 Trong máy tính, để tiết kiệm bộ nhớ, người ta thường tìm cách nén dữ liệu. T...
-
Một dãy được gọi là đối xứng gương nếu các phần tử cách đều đầu và cuối thì bằng nhau. Cho dãy số A(N). Hãy tìm một dãy con các phần tử liên...
-
(Tuyến sinh phổ thông năng khiếu 2007) Yêu cầu: Hãy tìm số âm lớn nhất X trong dãy.Cho một dãy gồm N số nguyên a1, a2, …, aN, mỗi số có gi...
-
Thầy Quách Văn Lượm Điện thoại, Zalo: 0915080405 Facebook: https://www.facebook.com/qvluom Group trao đổi giải thuật: Giải bài tập ...
Uses crt;
Trả lờiXóaVar n,i,j,k,d:longint;
f:array[1..30] of longint;
procedure nhap;
Var fi:text;
Begin
assign(fi,'LSEQ.INP');
reset(fi);
read(fi,n);
For i:=1 to n do
read(fi,f[i]);
close(fi);
end;
procedure xuat;
Var fo:text;
Begin
assign(fo,'LSEQ.OUT');
rewrite(fo);
Write(fo,d);
close(fo);
end;
Begin
nhap;
For i:=1 to n-2 do
For j:=i+1 to n-1 do
For k:=j+1 to n do
Begin
If f[k]-f[j]=f[j]-f[i] then d:=d+1;
end;
xuat;
end.
#include <iostream >
Trả lờiXóa#include <algorithm >
#include <fstream >
using namespace std;
int main(int argc, char** argv) {
ifstream cin;
cin.open ("D:/Dong/LSEQinp.txt");
ofstream cout;
cout.open ("D:/Dong/LSEQout.txt");
int s,n[100],d=0;
cin > >s;
for (int i=0;i <s;i++){
cin > >n[i];
}
sort(n,n+s);
for (int i=0;i <s-2;i++){
for (int j=i+1;j <s-1;j++){
for (int k=j+1;k <s;k++){
if (n[k]-n[j]==n[j]-n[i]) d++;
}
}
}
cout < <d;
cin.close();
cout.close();
return 0;
}
Nhận xét này đã bị tác giả xóa.
Trả lờiXóaNhận xét này đã bị tác giả xóa.
Trả lờiXóaNhận xét này đã bị tác giả xóa.
Trả lờiXóaNhận xét này đã bị tác giả xóa.
Trả lờiXóaNhận xét này đã bị tác giả xóa.
Trả lờiXóa#include
Trả lờiXóausing namespace std;
int main()
{
int S,a[40],d=0;
map b;
freopen("LSEQ.INP","r",stdin);
freopen("LSEQ.OUT","w",stdout);
cin >> S;
for (int i=0;i> a[i];
b[a[i]] = "co";
}
for (int i=0;i<S-2;i++){
for (int j=i+1;j<S-1;j++){
if (b[a[j]*2-a[i]]=="co"){
d +=1;
}
}
}
cout << d;
return 0;
}