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.
uses crt;
var a:array[1..50]of int64;
i,n,t,max,min:int64;
begin
clrscr;
readln(n);
for i:=1 to n do
readln(a[i]);
max:=a[1];
min:=a[1];
t:=0;
for i:=1 to n do
begin
if max<a[i] then max:=a[i];
if min>a[i] then min:=a[i];
t:=t+a[i];
end;
writeln('Tong la: ',t);
writeln('So lon nhat la: ',max);
write('Vi tri la: ');
for i:=1 to n do
if a[i]=max then write(i:4);
writeln;
writeln('So nho nhat la: ',min);
write('Vi tri la: ');
for i:=1 to n do
if a[i]=min then write(i:4);
readln;
end.
#include <bits/stdc++.h>
using namespace std;
long long a[100],n,i,ln,nn,vt1,vt2;
int main()
{
cin>>n;
for (i=1; i<=n; i++) cin>>a[i];
ln=a[1];
nn=a[1];
for (i=1; i<=n; i++)
{
ln=max(ln,a[i]);
nn=min(nn,a[i]);
}
cout<<ln<<" "<<nn;
return 0;
}
Var n,i,vtl,vtn,so max,min:integer;
Begin
Write('Nhap so luong so = ');readln(n);
vtl:=0;
vtn:=0;
max:=-32768;
min:=32767;
For i:=1 to n do
Begin
Write('Nhap vao so thu ',i);readln(so);
If so > max then
Begin
Max:=so;
vtl:=i;
End;
If so < min then
Begin
Min:=so;
vtn:=i;
End;
Writeln('So lon nhat la ',max,' tai vi tri thu ',i);
Write('So nho nhat la ',min,' tai vi tri thu ',i);
Readln;
End.
Dựa vào yêu cầu bài toán, ta có thể giải quyết bài toán này bằng phương pháp quay lui đệ quy. Ý tưởng cơ bản như sau:
1. Để đảm bảo rằng đứa lớn hơn luôn ít kẹo hơn đứa bé hơn, ta có thể sắp xếp mảng K em theo thứ tự tăng dần.
2. Sử dụng một hàm đệ quy để chia kẹo cho các em:
- Với mỗi em, ta thử tất cả các số kẹo có thể chia được từ 1 đến N, đồng thời giới hạn số kẹo không được vượt quá số kẹo hiện có và số kẹo của em trước đó. Sau đó, ta đệ quy chia kẹo cho các em tiếp theo.
- Khi đã chia hết kẹo cho K em, ta kiểm tra xem có phải cách chia kẹo hợp lệ theo yêu cầu của bài toán không.
- Nếu hợp lệ, tăng biến đếm số lượng cách chia lên.
3. Kết quả cuối cùng là số lượng cách chia kẹo hợp lệ.
---------
def count_ways(N, K, candies, current_index, current_count, current_sum):
# Đã chia hết kẹo cho K em
if current_index == K:
# Kiểm tra xem cách chia có hợp lệ không
if current_sum == N:
return 1
else:
return 0
# Đệ quy chia kẹo cho em tiếp theo
ways = 0
for i in range(1, candies[current_index] + 1):
if current_sum + i <= N and current_count + i <= candies[current_index]:
ways += count_ways(N, K, candies, current_index + 1, current_count + i, current_sum + i)
return ways
# Đọc dữ liệu từ file input
with open('CANDY.INP', 'r') as file:
N, K = map(int, file.readline().split())
# Đọc số lượng kẹo của từng em
candies = []
for _ in range(K):
candies.append(int(file.readline()))
# Gọi hàm đệ quy để tính số lượng cách chia kẹo hợp lệ
ways = count_ways(N, K, candies, 0, 0, 0)
# Ghi kết quả vào file output
with open('CANDY.OUT', 'w') as file:
file.write(str(ways))