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

 

4 tháng 3 2021

uk

Bạn nên khai báo biến mảng A là Integer thôi vì exitcode 205 là lỗi tràn số

#include <bits/stdc++.h>

using namespace std;

long long a[1000],i,n,j;

bool kt;

int main()

{

freopen("nguyento.inp","r",stdin);

freopen("nguyento.out","w",stdout);

cin>>n;

for (i=1; i<=n; i++) cin>>a[i];

for (i=1; i<=n; i++)

if (a[i]>1) 

{

kt=true;

for (j=2; j*j<=a[i]; j++)

if (a[i]%j==0) kt=false;

if (kt==true) cout<<a[i]<<" ";

}

return 0;

}

const fi='xsum1.inp';     

fo='xsum1.out';

var f1,f2:text;   

a:array[1..20000]of integer;   

i,n,j,x,dem,k,m,t:integer;

begin

assign(f1,fi); reset(f1);

assign(f2,fo); rewrite(f2);

readln(f1,n,x);

for i:=1 to n do 

read(f1,a[i]);

dem:=0;

for i:=1 to n do 

for j:=1 to n do   

begin       

for k:=1 to n do         

if (i<j) and (j<k) then               

begin                 

t:=0;                 

for m:=i to k do                   

t:=t+a[m];                 

if t=x then inc(dem);               

end;   

end;

for i:=1 to n do 

if x=a[i] then inc(dem);

writeln(f2,dem);

close(f1);

close(f2);

end.

30 tháng 6 2021

program COST;

var n,m,s,dem:int64;a:

array[1..1000000] of int64;

i,j:longint;

begin 

readln(n,m);

for i := 1 to n do read(a[i]);

dem := 0;

for i := 1 to n do

begin

s := 0;

for j := i to n do 

begin 

s := s+a[j];

if s <= m then 

begin 

inc(dem);

continue;

end

else if a[j] > m then break;

end;

end;

write(dem);

end.    

12 tháng 5 2021

program du_lieu;

uses crt;

var i,n:integer;

a:array[1..100]of integer;

tbc:real;

f:text;

begin

clrscr;

assign(f,'DULIEU.INP');reset(f);

readln(f,n);

for i:=1 to n do

begin

read(f,a[i]);

end;

close(f);

for i:=1 to n do

tbc:=tbc+a[i];

writeln(tbc/n);

readln;

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.

4 tháng 8 2021

giúp mình với

5 tháng 8 2021

xàm hả cha

 

#include <bits/stdc++.h>

using namespace std;

long long n,i,j,dem;

bool kt;

int main()

{

freopen("dnto.inp","r",stdin);

freopen("dnto.out","w",stdout);

cin>>n;

for (i=2; i<=n; i++)

{

kt=true;

for (j=2; j*j<=i; j++)

if (i%j==0) kt=false;

if (kt==true) dem++;

}

cout<<dem;

return 0;

}