K
Khách

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.

Bài 3:           Ghép số

Cay cú vì lần trước không giải được bài toán của Tèo đưa ra. Trạng Tí quyết ăn thua đủ với Tèo bằng cách đấu trí. Lần này nhờ sự trợ giúp của công nghệ nên Trạng Tí bèn mò lên Google tìm một bài toán cực khó mang hơi thở của tin học để đố Tèo. Bài toán như sau:

Cho N số A1, A2, … An khác nhau (0<A<=9). Hãy ghép N số này để được một số là số nguyên tố.

Dữ liệu vào: Là file văn bản có tên ghepso.inp có cấu trúc như sau:

-         Dòng đầu tiên ghi số nguyên N (2<=N<=6)

-         Dòng tiếp theo ghi N số khác nhau: A1, A2, … An (các số nhập cách trống)

Kết quả: Ghi ra file ghepso.out là các số nguyên tố ghép được. Mỗi số ghi trên một dòng và theo thứ tự từ nhỏ đến lớn. Nếu không ghép được số nguyên tố nào thì ghi ra kết quả là -1

Lần này lại đến lượt Tèo vò đầu bứt tai không thể giải nổi bài toán này và đành cầu cứu tới các bạn thi học sinh giỏi môn tin học lớp 9 huyện Thanh Chương. Mong các bạn giải bài này giúp Tèo với nhé.

Ví dụ:

ghepso.inp

ghepso.out

2

1   3

13

31

2

2   4

-1

 

Giải thích: Test đầu tiên có 2 số (1  3) ta có 2 cách ghép thành số 13 và 31 đều là số nguyên tố. Ở test thứ 2 có 2 số (2  4) ta cũng có 2 cách ghép tạo thành 2 số 24 và 42 nhưng chúng đều không phải số nguyên tố nên có đáp án là -1

 

2
23 tháng 12 2021

#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";
}
    

23 tháng 12 2021

code đệ quy - quay lui đây nhé bạn

 

1 tháng 2 2020

#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.

viết ctrinh n≤ 10000 nguyên dương. Viết ra số lượng số nguyên tố và 10 giá trị số nguyên tố lớn hơn cả Dữ liệu vào: file B5.INP.TXT. Có dòng đầu là số n. Từ dòng kế ghi lần lượt n số cách nhau dấu cách hoặc xuống dòng KQ ra: ghi file B5.OUT.TXT dòng đầu ghi số lượng số nguyên tố dòng kế ghi 10 giá trị số nguyên tố lớn hơn cả được cách nhau bằng dấu cách BÀI 2 Viết chương trình...
Đọc tiếp

viết ctrinh n≤ 10000 nguyên dương. Viết ra số lượng số nguyên tố và 10 giá trị số nguyên tố lớn hơn cả Dữ liệu vào: file B5.INP.TXT. Có dòng đầu là số n. Từ dòng kế ghi lần lượt n số cách nhau dấu cách hoặc xuống dòng KQ ra: ghi file B5.OUT.TXT dòng đầu ghi số lượng số nguyên tố dòng kế ghi 10 giá trị số nguyên tố lớn hơn cả được cách nhau bằng dấu cách BÀI 2 Viết chương trình đọc các dòng trong một file văn bản độ dài dòng (255 ký tự, số dòng ≤ 50000). Tính ra số từ trong file( từ nằm trọn trên dòng), và dòng có số từ nhiều nhất là bao nhiêu từ, có bao nhiêu dòng như vậy. Dữ liệu vào : file B6-INT.TXT gồm nhiều dòng văn bản. KQ ra: file B6-OUT.TXT dòng đầu ghi tổng số từ vủa file, dong 2 ghi số từ nhiều nhất của 1 dòngvà số dòng có số từ nhiều nhất

1

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.

Dũng và Vũ là hai bạn thân rất mê toán. Đôi bạn thường nghĩ ra các bài toán để chơi igiair trí với nhau. Hôm nay Vũ nghĩ ra một trò chơi mới và mời Dũng cùng chơi. Trò chơi Vũ đề ra như sau: Vũ viết lần lượt n số nguyên a1 , a2 , ... , an thành một hàng, sau đó giữa số ai và ai+1 sẽ điền vào dấu + khi i là số chẵn, ngược lại điền dấu - . Như vậy Vũa sẽ có một biểu thức gồm n số...
Đọc tiếp

Dũng và Vũ là hai bạn thân rất mê toán. Đôi bạn thường nghĩ ra các bài toán để chơi igiair trí với nhau. Hôm nay Vũ nghĩ ra một trò chơi mới và mời Dũng cùng chơi. Trò chơi Vũ đề ra như sau: Vũ viết lần lượt n số nguyên a1 , a2 , ... , an thành một hàng, sau đó giữa số ai và ai+1 sẽ điền vào dấu + khi i là số chẵn, ngược lại điền dấu - . Như vậy Vũa sẽ có một biểu thức gồm n số hạng a1 , a2 , ..., an với dấu - và + đan xen nhau:

a1 - a2 +a3 - a4 +a5 - ... + an

Vũ đưa cho Dũng biểu thức này và yêu cầu Dũng thực hiện nhiều nhất một phép đổi chỗ hai số hạng cho nhau so cho giá trị của biểu thức nhận được lớn nhất có thể.

Yêu cầu: Hãy giúp Dũng tìm giá trị của biểu thức.

Giới hạn: n<= 106; |ai| <= 109 với mọi i=1,2, ... , n

0
Dũng và Vũ là hai bạn thân rất mê toán. Đôi bạn thường nghĩ ra các bài toán để chơi igiair trí với nhau. Hôm nay Vũ nghĩ ra một trò chơi mới và mời Dũng cùng chơi. Trò chơi Vũ đề ra như sau: Vũ viết lần lượt n số nguyên a1 , a2 , ... , an thành một hàng, sau đó giữa số ai và ai+1 sẽ điền vào dấu + khi i là số chẵn, ngược lại điền dấu - . Như vậy Vũa sẽ có một biểu thức gồm n số...
Đọc tiếp

Dũng và Vũ là hai bạn thân rất mê toán. Đôi bạn thường nghĩ ra các bài toán để chơi igiair trí với nhau. Hôm nay Vũ nghĩ ra một trò chơi mới và mời Dũng cùng chơi. Trò chơi Vũ đề ra như sau: Vũ viết lần lượt n số nguyên a1 , a2 , ... , an thành một hàng, sau đó giữa số ai và ai+1 sẽ điền vào dấu + khi i là số chẵn, ngược lại điền dấu - . Như vậy Vũa sẽ có một biểu thức gồm n số hạng a1 , a2 , ..., an với dấu - và + đan xen nhau:

a1 - a2 +a3 - a4 +a5 - ... + an

Vũ đưa cho Dũng biểu thức này và yêu cầu Dũng thực hiện nhiều nhất một phép đổi chỗ hai số hạng cho nhau so cho giá trị của biểu thức nhận được lớn nhất có thể.

Yêu cầu: Hãy giúp Dũng tìm giá trị của biểu thức.

Giới hạn: n<= 106; |ai| <= 109 với mọi i=1,2, ... , n

6
4 tháng 5 2019

Help me

5 tháng 5 2019

đây là toán mà ??

Mình đang cần gấp, giúp mình với ạ a0=0; a1=1; và an+1=2an-an-1 ∀n>1, n∈Z; Bờm rất thích những tính chất thú vị của các dãy số. Bố cậu biết vậy nên đã đố cậu giải được bài toán sau: Cho 1 dãy số Đặt X= (an+1 – an ) 2 . Hỏi rằng chữ số cuối cùng của số X là số nào? Bờm đang cố gắng suy nghĩ để tìm ra cách giải. Bạn là một lập trình viên giỏi nên bạn hãy giúp cậu ấy giải...
Đọc tiếp

Mình đang cần gấp, giúp mình với ạ

a0=0; a1=1;

an+1=2an-an-1 ∀n>1, n∈Z;

Bờm rất thích những tính chất thú vị của các dãy số. Bố cậu biết vậy nên đã đố cậu giải được bài toán sau:

Cho 1 dãy số Đặt X= (an+1 – an ) 2 . Hỏi rằng chữ số cuối cùng của số X là số nào? Bờm đang cố gắng suy nghĩ để tìm ra cách giải. Bạn là một lập trình viên giỏi nên bạn hãy giúp cậu ấy giải bài toán trên. Input Dòng đầu ghi số K (K thuộc tâp Z, 1 ≤ K ≤ 1000). K dòng tiếp theo, mỗi dòng có 1 giá trị duy nhất là số nguyên dương n (với n≤10 15 ). Output Gồm k dòng, mỗi dòng ghi một chữ số duy nhất tìm được ứng với dòng có giá trị n trong file dữ liệu vào.

Example Input: 2 1 4

Output: 4 5

* Chú ý: 60% số test có n ≤10000.

2
25 tháng 10 2020

help me!!!

28 tháng 10 2020

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: Cho mảng A gồm N phần tử kiểu số nguyên (N <= 200). Viết chương trình nhập dữ liệu vào từ bàn phím cho mảng A. Sau đó thực hiện đếm số phần tử chia hết cho 3 của mảng A. Rồi hiển thị kết quả ra màn hình.Bài 3: Viết chương trình nhập vào từ bàn phím một dãy số gồm N số nguyên (N<=30). Sau đó tính tích các phần tử chia hết cho 2 của dãy số đó. Rồi hiển thị kết quả ra màn...
Đọc tiếp

Bài 2: Cho mảng A gồm N phần tử kiểu số nguyên (N <= 200). Viết chương trình nhập dữ liệu vào từ bàn phím cho mảng A. Sau đó thực hiện đếm số phần tử chia hết cho 3 của mảng A. Rồi hiển thị kết quả ra màn hình.

Bài 3: Viết chương trình nhập vào từ bàn phím một dãy số gồm N số nguyên (N<=30). Sau đó tính tích các phần tử chia hết cho 2 của dãy số đó. Rồi hiển thị kết quả ra màn hình.

Bài 4: Cho tệp văn bản ‘vidu.inp’ chứa giá trị của a và b. Biết rằng các giá trị này được phân cách nhau bởi một dấu cách. Viết chương trình thực hiện đọc dữ liệu từ tệp ‘vidu.inp’. Sau đó tính giá trị biểu thức S= a+2b. Rồi ghi giá trị của S ra tệp ‘vidu.out’

Bài 5: Viết chương trình thực hiện tính tổng sau:

S= 1+ 1/22+1/32+1/42+…+1/N2

4
28 tháng 4 2021

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.

28 tháng 4 2021

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.

16 tháng 6 2020

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.