Cho dãy số gồm 2015 số nguyên dương đc sắp xếp như sau : a1;a2;a3;...;a2015 . chứng tỏ rằng luôn tìm đc ở dãy số trên có một số hoặc tổng 1 số số chia hết cho 2015.
a1 tưc là số a thứ 1 nhé ,
Hãy nhập câu hỏi của bạn vào đây, nếu là tài khoản VIP, bạn sẽ được ưu tiên trả lời.
Ta có 15 = 1 + 2 + 3 + 4 + 5
Vì a1 là số nguyên dương nên \(a_1+a_2\ge3\)điều trên xảy ra khi \(a_1=1\)và \(a_2=a_1+1\)
Tương tự với \(a_1+a_2+a_3+a_4+a_5=a_1+\left(a_1+1\right)+...+\left(a_1+a_4\right)\)
\(=5a_1+10⋮15\)
Theo nguyên lý Dirichlet thì trong 2015 số nguyên dương sẽ tồn tại ít nhất 134 số chia hết cho 15 nếu \(a_1=15\)
Nếu các số nguyên dương trên có giá trị tương đương nhau thì \(a_1+a_2+...+a_{2015}=2015a_n\)
Vậy trong nguyên lý Dirichlet thì có thể tồn tại ít nhất 134 cặp số có tổng chia hết cho 15 với \(a_n\)nhỏ nhất là 1
Bài 1:
#include <bits/stdc++.h>
using namespace std;
long long a[100],n,i,j,tam;
int main()
{
cin>>n;
for (i=1; i<=n; i++)
cin>>a[i];
for (i=1; i<=n-1; i++)
for (j=i+1; j<=n; j++)
if (a[i]<a[j]) swap(a[i],a[j]);
for (i=1; i<=n;i++)
cout<<a[i]<<" ";
return 0;
}
program so_lon_nhat;
uses crt;
var a: array[1..100] of integer;
i,n,max,k,dem: integer;
s,tbc: real;
begin
clrscr;
writeln(' nhap so phan tu cua day'); readln(n);
for i:=1 to n do
begin
writeln('a[',i,']'); readln(a[i]);
end;
writeln(' nhap so can tim:'); readln(k);
max:=a[1];
i:=1;
dem:=0;
for i:=1 to n do
begin
if max<a[i] then max:=a[i];
s:=s+a[i];
tbc:=s/n;
if a[i]=k then dem:=dem+1;
end;
writeln(' so lon nhat trong day tren la:',max);
while (i<n) and (a[i]<>k) do i:=i+1;
if a[i]=k then writeln(' phan tu thu ', i ,' bang ',k)
else writeln(' k tim dc phan tu',k);
writeln(tbc:6);
writeln('co', dem, ' phan tu', k);
readln
end.
#include <bits/stdc++.h>
using namespace std;
long long b[10],i,j,n;
int main()
{
n=10;
for (i=1; i<=n; i++)
cin>>b[i];
for (i=1; i<=n-1; i++)
for (j=i+1;j<=n;j++)
if (b[i]<=b[j]) swap(b[i],b[j]);
for (i=1; i<=n; i++)
cout<<b[i]<<" ";
return 0;
}
Dưới đây là mã chương trình Pascal để sắp xếp dãy số theo yêu cầu đã cho:
```pascal
program sorting;
const
MAX_N = 1000;
var
N, i, j, temp: integer;
arr: array[1…MAX_N] of integer;
oddArr, evenArr: array[1…MAX_N] of integer;
oddCount, evenCount: integer;
inputFile, outputFile: text;
begin
// Mở file input và đọc dữ liệu
assign(inputFile, 'sorting.inp');
reset(inputFile);
readln(inputFile, N);
for i := 1 to N do
read(inputFile, arr[i]);
close(inputFile);
// Sắp xếp mảng theo yêu cầu
oddCount := 0;
evenCount := 0;
for i := 1 to N do
begin
if arr[i] mod 2 = 1 then
begin
oddCount := oddCount + 1;
oddArr[oddCount] := arr[i];
end
else
begin
evenCount := evenCount + 1;
evenArr[evenCount] := arr[i];
end;
end;
// Sắp xếp mảng số lẻ tăng dần
for i := 1 to oddCount - 1 do
for j := i + 1 to oddCount do
if oddArr[i] > oddArr[j] then
begin
temp := oddArr[i];
oddArr[i] := oddArr[j];
oddArr[j] := temp;
end;
// Sắp xếp mảng số chẵn giảm dần
for i := 1 to evenCount - 1 do
for j := i + 1 to evenCount do
if evenArr[i] < evenArr[j] then
begin
temp := evenArr[i];
evenArr[i] := evenArr[j];
evenArr[j] := temp;
end;
// Mở file output và ghi kết quả
assign(outputFile, 'sorting.out');
rewrite(outputFile);
for i := 1 to oddCount do
write(outputFile, oddArr[i], ' ');
writeln(outputFile);
for i := 1 to evenCount do
write(outputFile, evenArr[i], ' ');
close(outputFile);
end.
```
Bạn có thể sao chép mã chương trình trên vào một tệp tin có tên `sorting.pas`, sau đó tạo một tệp tin `sorting.inp` và nhập dữ liệu theo định dạng đã cho. Chạy chương trình và kết quả sẽ được ghi vào tệp tin `sorting.out`.
var i,n:longint; a:array[1..1000] of longint;
begin
readln(n);
for i:=1 to n do read(a[i]);
for i:=1 to n do
if a[i] mod 2=0 then
begin
inc(k);
b[k]:=a[i];
end
else
begin
inc(t);
c[t]:=a[i];
end;
for i:=1 to k-1 do
for j:=i+1 to k do
if b[i]<b[j] then
begin
d:=b[i];
b[i]:=b[j];
b[j]:=d;
end;
for i:=1 to t-1 do
for j:=i+1 to t do
if c[i]>c[j] then
begin
d:=c[i];
c[i]:=c[j];
c[j]:=d;
end;
for i:=1 to k do write(b[i],' ');
for i:=1 to t do write(c[i],' ');
end.
a)
Input: Dãy n số nguyên
Output: Đếm xem trong dãy đó có bao nhiêu số nguyên dương
b)
Bước 1: Nhập n và nhập dãy số
Bước 2: dem←0; i←1;
Bước 3: Nếu a[i]>0 thì dem←dem+1;
Bước 4: i←i+1;
Bước 5: Nếu i<=n thì quay lại bước 3
Bước 6: Xuất dem
Bước 7: Kết thúc
Hình như bài này sử dụng định lí Đi rich lê.