Viết chương trình tìm các đoạn con có tổng bằng nhau
Viết chương trình tìm các đoạn con có tổng bằng nhau. Pascal nha
Input | Output |
10 2 6 2 5 2 1 2 | 10 2+6+2 5+2+1+2 |
Viết chương trình nhập vào một dãy số nguyên gồm N (1<=N<=500) phần tử A1,A2…AN. Tìm cách chia mảng thành 2 đoạn có tổng các phần tử trong mỗi đoạn bằng nhau. C++, ai giup voi
#include <iostream>
#include <vector>
using namespace std;
bool divideArray(vector<int>& nums, int N) {
int totalSum = 0;
for (int i = 0; i < N; i++) {
totalSum += nums[i];
}
if (totalSum % 2 != 0) {
return false;
}
int halfSum = totalSum / 2;
vector<vector<bool>> dp(N + 1, vector<bool>(halfSum + 1, false));
dp[0][0] = true;
for (int i = 1; i <= N; i++) {
for (int j = 0; j <= halfSum; j++) {
dp[i][j] = dp[i - 1][j];
if (j >= nums[i - 1]) {
dp[i][j] = dp[i][j] || dp[i - 1][j - nums[i - 1]];
}
}
}
return dp[N][halfSum];
}int main() {
int N;
cout << "Nhập số phần tử N: ";
cin >> N;
vector<int> nums(N);
cout << "Nhập các phần tử của mảng: ";
for (int i = 0; i < N; i++) {
cin >> nums[i];
}
bool isPossible = divideArray(nums, N);
if (isPossible) {
cout << "Có thể chia mảng thành hai đoạn có tổng bằng nhau." << endl;
} else {
cout << "Không thể chia mảng thành hai đoạn có tổng bằng nhau." << endl;
}
return 0;
}
1. Viết chương trình nhập vào một mảng các số nguyên. Tìm tổng các số.
2. Viết chương trình nhập vào một mảng các số nguyên. Tính và xuất tổng các số chẵn có trong mảng.
3. Viết chương trình nhập vào một mảng các số nguyên. Tính và xuất tổng các số lẻ có trong mảng.
4. Viết chương trình nhập vào một dãy các số nguyên. Hãy đưa ra màn hình có bao nhiêu số chẳn và bao nhiêu số lẻ trong dãy.
5. Viết chương trình nhập vào một dãy gồm N số nguyên. Cho biết có bao nhiêu số có giá trị chia hết cho 5 và không chia hết cho 3 trong dãy đó. Xuất số lượng đếm được và vị trí các số đó
6. Viết chương trình nhập vào một mảng các số nguyên. Tìm giá trị lớn nhất và vị trí của nó.
7. Viết chương trình nhập vào một mảng các số thực. Tìm giá trị nhỏ nhất và vị trí của nó.
8. Viết chương trình nhập vào một mảng các số nguyên. Sau đó nhập vào một số và tìm xem số ấy có trong mảng hay không, nếu có xuất vị trí.
9. Nhập một dãy số gồm N số nguyên. Tìm tổng bình phương các số(a21+ a22+ a23+… a2N)
10. Viết chương trình nhập vào một dãy số và sắp xếp theo thứ tự giảm dần.
11. Viết chương trình chèn thêm một số nguyên vào vị trí thứ k(k=1, k=5, k=9 hoặc k=N) của mảng số nguyên gồm N phần tử.
12. Viết chương trình xóa một phần tử thứ k (với k là số nguyên và 1<=k<=N. VD k=1, k=5, k=9 hoặc k=N) của mảng số nguyên gồm N phần tử.
Câu 1:
uses crt;
var a:array[1..100]of integer;
i,n,t:integer;
begin
clrscr;
write('Nhap n='); readln(n);
for i:=1 to n do
begin
write('A[',i,']='); readln(a[i]);
end;
t:=0;
for i:=1 to n do
t:=t+a[i];
writeln('Tong cac so trong mang la: ',t);
readln;
end.
Câu 2:
uses crt;
var a:array[1..100]of integer;
i,n,t:integer;
begin
clrscr;
write('Nhap n='); readln(n);
for i:=1 to n do
begin
write('A[',i,']='); readln(a[i]);
end;
t:=0;
for i:=1 to n do
if a[i] mod 2=0 then t:=t+a[i];
writeln('Tong cac so chan la: ',t);
readln;
end.
Viết chương trình nhập vào dãy gồm N số tìm các đoạn con có tổng bằng K
và in tất cả ra màn hình
Input | Output |
15 15 2 3 10 7 8 6 5 2 8 9 17 -2 0 5 10 | 2 3 10 7 8 5 2 8 17 -2 0 5 10 |
10 15 1 2 3 4 5 6 7 8 9 15 | 1 2 3 4 5 7 8 15 |
làm bằng pascal nha mọi người giúp mình
Chương trình trên cho phép người dùng nhập vào dãy số và giá trị K. Sau đó, chương trình sẽ tìm tất cả các đoạn con trong dãy có tổng bằng K và in chúng ra màn hình.
Ví dụ, với dãy số [1, 2, 3, 4, 5] và K = 7, chương trình sẽ in ra:
2 3 4 5 2Đây là tất cả các đoạn con có tổng bằng 7 trong dãy số đã cho.
viết chương trình tìm tất cả số có 3 chữ số sao cho tổng các chữ số bằng tích của chúng.Làm pascal
uses crt;
var a,b,c:integer;
begin
clrscr;
for a:=1 to 9 do
for b:=0 to 9 do
for c:=0 to 9 do
if (a+b+c=a*b*c) then writeln(a,b,c,' ');
readln;
end.
Tổng 3 chữ số của số bé nhất có 3 chữ số có tích 3 chữ số bằng 3 là ?
Viết chương trình nhập vào bàn phím mảng 1 chiều A gồm N(N<=200) phần tử nguyên .Tính và viết ra màn hình tổng các số âm có trong mảng A (chương trình sử dụng chương trình con kiểm tra số nguyên âm của số m để viết)
#include <bits/stdc++.h>
using namespace std;
long long n,i,x,t;
int main()
{
cin>>n;
t=0;
for (i=1; i<=n; i++)
{
cin>>x;
if (x<0) t+=x;
}
cout<<t;
return 0;
}
Viết chương trình con tính tổng, tích, tìm số lớn, số bé trong 2 số nguyên. Gọi thực thi chương trình con ở chương trình chính.
mọi người giúp e để mai e kiểm tra với ạ.
uses crt;
var a,b:integer;
{-------------chuong-trinh-con-tinh-tong---------------------}
function tong(x,y:integer):integer;
begin
tong:=x+y;
end;
{-------------chuong-trinh-con-tinh-tich------------------}
function tich(x,y:integer):integer;
begin
tich:=x*y;
end;
{-----------------chuong-trinh-con-so-lon------------------}
function solon(x,y:integer):integer;
begin
if x>y then solon:=x
else solon:=y;
end;
{-----------------chuong-trinh-con-so-be------------------}
function sobe(x,y:integer):integer;
begin
if x<y then sobe:=x
else sobe:=y;
end;
{--------------------chuong-trinh-chinh-----------------}
begin
clrscr;
write('Nhap a='); readln(a);
write('Nhap b='); readln(b);
writeln('Tong la: ',tong(a,b));
writeln('Tich la: ',tich(a,b));
writeln('So lon la: ',solon(a,b));
writeln('So be la: ',sobe(a,b));
readln;
end.
Viết chương trình và sử dụng chương trình con đọc dữ liệu từ tệp input.txt chứa dãy số nguyên trên một dòng. Các số cách nhau một khoảng trắng
Tính tổng dãy số trong tập input.txt rồi ghi kết quả tổng này vào tập output.txt
Giúp em với ạ. Em cảm ơn
const fi='input.txt'
fo='output.txt'
var f1,f2:text;
a:array[1..100]of integer;
i,n,t:integer;
begin
assign(f1,fi); reset(f1);
assign(f2,fo); rewrite(f2);
n:=0;
while not eof(f1) do
begin
inc(n);
read(f1,a[n]);
end;
t:=0;
for i:=1 to n do t:=t+a[i];
write(f2,t);
close(f1);
close(f2);
end.
Câu 1: Viết chương trình tìm các số có 3 chữ số sao cho số đó bằng n lần tổng các chữ số của nó
Help me :(((( Bằng pascal nhé và nếu có fuction thì ko dùng nhé :))