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.
#include <iostream>
#include <fstream>
using namespace std;
long int x[4],n,a[5001],kt[5001],ktvt[5001],MAXtong,dem=0;
int TRY(int i)
{
for(int j=x[i-1]+1;j<=n;j++)
if(kt[a[j]]==0)
{
x[i]=j;
kt[a[j]]=1;
if(i==3)
{
if(a[x[3]]==(float)(a[x[2]]+a[x[1]])/2||a[x[2]]==(float)(a[x[3]]+a[x[1]])/2||a[x[1]]==(float)(a[x[2]]+a[x[3]])/2)
{
dem++;
if(a[x[1]]+a[x[2]]+a[x[3]]>MAXtong)
{
MAXtong=a[x[1]]+a[x[2]]+a[x[3]];
}
}
}
else
TRY(i+1);
kt[a[j]]=0;
}
}
int main()
{
ifstream f("boba.inp");
f>>n;
for(int i=1;i<=n;i++)
{
f>>a[i];
}
x[0]=0;
MAXtong=-1000000000;
fill_n(kt,1001,0);
TRY(1);
cout<<dem<<endl;
if(dem>0)
{
cout<<MAXtong;
}
return 0;
}
Mình mới đạt tới trình độ quy hoạch động nên bạn thông cảm
Xin lỗi bạn, mình không hỗ trợ C. mình chỉ biết pascal thôi
const fi='tamhop.inp';
fo='tamhop.out';
var f1,f2:text;
a:array[1..100]of integer;
n,i,j,k,dem,max,t:integer;
begin
assign(f1,fi); reset(f1);
assign(f2,fo); rewrite(f2);
readln(f1,n);
for i:=1 to n do
read(f1,a[i]);
{--------------------------------xu-ly--------------------------------}
dem:=0; max:=0;
for i:=1 to n-2 do
begin
for j:=i+1 to n-1 do
begin
for k:=j+1 to n do
begin
if (a[i]=(a[j]+a[k])/2) or (a[j]=(a[i]+a[k])/2) or (a[k]=(a[i]+a[j])/2) then
begin
inc(dem);
t:=a[i]+a[j]+a[k];
if max<=t then max:=t;
end;
end;
end;
end;
writeln(f2,dem);
writeln(f2,max);
close(f1);
close(f2);
end.
Bài 1:
const fi='b5.inp.txt';
fo='b5.out.txt';
var f1,f2:text;
a:array[1..255]of integer;
i,n,kt,j,dem:integer;
begin
assign(f1,fi); reset(f1);
assign(f2,fo); rewrite(f2);
readln(f1,n);
for i:=1 to n do
read(f1,a[i]);
dem:=0;
max:=1;
for i:=1 to n do
if a[i]>1 then
begin
kt:=0;
for j:=2 to trunc(sqrt(a[i])) do
if a[i] mod j=0 then kt:=1;
if kt=0 then
begin
inc(dem);
if max<a[i] then max:=a[i];
end;
end;
writeln(f2,dem);
if dem=0 then writeln(f2,'Khong co so nguyen to trong day')
else writeln(f2,max);
close(f1);
close(f2);
end.
Copy thì cũng phải có tâm cho người ta nhìn hiểu đề chứ
Cho dãy số thế nào chứ thấy 2 đk trên
=>dãy là 0,1,2,3,..,n rồi
Vậy \(X_i\)=(i+1-i)*2=1*2=2 rồi chứ 4 và 5 ở đâu vậy bạn
Bài 2:
Program HOC24;
var a: array[1..200] of integer;
i,d,n: integer;
begin
write('Nhap so phan tu N: '); readln(N);
for i:=1 to n do
begin
write('a[',i,']='); readln(a[i]);
end;
for i:=1 to n do if a[i] mod 3=0 then d:=d+1;
write('Co ',d,' phan tu chia het cho 3');
readln
end.
Bài 3:
Program HOC24;
var a: array[1..30] of integer;
i,d,n: integer;
begin
write('Nhap so phan tu N: '); readln(N);
for i:=1 to n do
begin
write('a[',i,']='); readln(a[i]);
end;
d:=1;
for i:=1 to n do if a[i] mod 2=0 then d:=d*a[i];
write(Tich cac phan tu chia het cho 2 la: ',d);
readln
end.
Cho mình hỏi nếu đếm các phần tử có giá trị lẻ trong xâu thì làm như thế nào vậy
uses crt;
var a:array[1..50]of integer;
t,i,n:integer;
begin
clrscr;
repeat
write('Nhap n='); readln(n);
until (0<n) and (n<=50);
for i:=1 to n do
begin
repeat
write('A[',i,']='); readln(a[i]);
until (0<=a[i]) and (a[i]<=32767);
end;
writeln('Day A=');
for i:=1 to n do
write(a[i]:4);
writeln;
t:=0;
for i:=1 to n do
if a[i] mod 2=1 then t:=t+a[i];
writeln('Tong cac so le la: ',t);
writeln('Cac so le trong day A la: ');
for i:=1 to n do
if a[i] mod 2=1 then write(a[i]:4);
readln;
end.
#include <bits/stdc++.h>
#define ll long long
#define fi first
#define se second
using namespace std;
const ll maxn = 1e7+4;
const int m=1e9+7;
int n,a[15],x[100],kt=-1;
int check(int n)
{
if(n<2) return 0;
for(int i=2;i<=sqrt(n);i++) if(n%i==0) return 0;
return 1;
}
void Try(int i,int sum)
{
if(i==n)
{
if(check(sum))
{
cout<<sum<<"\n";
kt=1;
}
return;
}
for(int t=1;t<=n;t++)
{
if(x[a[t]]==0)
{
x[a[t]]=1;
Try(i+1,sum*10+a[t]);
x[a[t]]=0;
}
}
}
int main()
{
ios::sync_with_stdio(0);
cin.tie(0);cout.tie(0);
freopen("GHEPSO.INP","r",stdin);
freopen("GHEPSO.OUT","w",stdout);
cin>>n;
for(int i=1;i<=n;i++) cin>>a[i];
sort(a+1,a+1+n);
Try(0,0);
if(kt==-1) cout<<"-1\n";
}
code đệ quy - quay lui đây nhé bạn