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.

Lập trình C++

Trong trò chơi Zuma, có một dãy các viên bi gồm bốn màu xanh, đỏ, tím, vàng liên tiếp nhau. Chú ếch Zuma sẽ bắn 1 viên bi (cũng có màu là một trong bốn màu trên) chèn vào dãy. Nếu viên bi mới tạo ra một dãy có từ 3 viên bi cùng màu trở lên thì chú ếch sẽ ăn được các viên bi cùng màu đó. Các viên bi còn lại sẽ sáp nhập lại, và nếu lại tạo ra dãy có từ 3 viên bi cùng màu trở lên thì chú lại tiếp tục được ăn. Cứ tương tự như vậy cho đến khi không còn dãy 3 bi mới.

Xét ví dụ là dãy 11 viên bi như sau (X: xanh, D: đỏ, T: tím, V: vàng):

TTXDDXXXVVV

Nếu Zuma bắn 1 viên bi đỏ vào vị trí 4 thì sẽ tạo ra dãy bi sau (bi đỏ được chèn vào vị trí 4):

TTXDDDXXXVVV

Bi bắn vào tạo ra dãy 3 bi đỏ, như vậy chú sẽ ăn được 3 bi đỏ và dãy còn lại là: TTXXXXVVV

1 bi xanh sáp nhập với 3 bi xanh tạo thành dãy 4 bi nên Zuma ăn tiếp 4 bi này, dãy còn lại là: TTVVV

Dù dãy này có 3 bi vàng nhưng không được ăn vì 3 bi này không phải là do sáp nhập từ 2 phía. Vậy Zuma ăn được tổng cộng 7 bi (3 đỏ, 4 xanh).

Cho một dãy bi bất kỳ và viên bi được bắn ra, bạn hãy giúp Zuma tính xem ăn được bao nhiêu viên bi.

Input: file zuma.inp gồm 3 dòng

– Dòng thứ nhất là số nguyên n, chiều dài của dãy bi ban đầu (1 ≤ n ≤ 100)

– Dòng thứ hai gồm n ký tự X, D, T, V biểu thị màu sắc các viên bi. Các ký tự được viết sát nhau

– Dòng thứ ba là một số nguyên k và một ký tự b (1 ≤ k ≤ n+1, b là một trong 4 ký tự X, D, T, V). k là vị trí và b là màu sắc của viên bi được bắn. Chú ý nếu k = n+1 nghĩa là bi được nối vào cuối chuỗi.

Output: file zuma.out

– Là một số nguyên xác định tổng số viên bi mà Zuma ăn được

Test

Zuma.inp

Zuma.out

1

11
TTXDDXXXVVV
4 D

7

2

4
XDTV
3 T

0

3

6
XXXXXX
4 T

0

0
Nhân dịp Tết, ba bé Bo chuẩn bị n túi lì xì cho bé Bo. Trong túi thứ i có số tiền là ai và một số nguyên bi (bi ≥ 0). Nếu bi > 0 thì bé Bo được phép chọn thêm bi túi lì xì khác. Việc chọn thêm này là tích lũy. Đầu tiên, bé Bo chọn một túi bất kỳ, sau đó giả sử bé Bo đang có tổng số tiền là A và số túi được phép chọn thêm là B (B>0), nếu bé Bo chọn thêm túi thứ i thì tổng số...
Đọc tiếp

Nhân dịp Tết, ba bé Bo chuẩn bị n túi lì xì cho bé Bo. Trong túi thứ i có số tiền là ai và một số nguyên bi (bi ≥ 0). Nếu bi > 0 thì bé Bo được phép chọn thêm bi túi lì xì khác. Việc chọn thêm này là tích lũy. Đầu tiên, bé Bo chọn một túi bất kỳ, sau đó giả sử bé Bo đang có tổng số tiền là A và số túi được phép chọn thêm là B (B>0), nếu bé Bo chọn thêm túi thứ i thì tổng số tiền là A + ai và tổng số túi được chọn thêm là B -1 + bi . Cứ như vậy cho đến khi không được phép chọn thêm (B=0) hoặc đã chọn hết n túi. Bạn hãy giúp bé Bo xác định thứ tự chọn túi sao cho tổng số tiền bé có được là lớn nhất nhé.   

Dữ liệu nhập:

- Dòng đầu tiên là số nguyên n (1 ≤ n ≤ 100)

- Trong n dòng tiếp theo, dòng thứ i gồm 2 số nguyên ai và bi cách nhau một khoảng trắng (1 ≤ ai ≤ 100, 0 ≤ bi ≤ 100)

Dữ liệu xuất:

- Là số nguyên xác định số tiền nhiều nhất mà bé Bo có được.

1
24 tháng 3 2022

bài này bạn giải được chưa ạ, cho mình xin code voiws được k

 

Cho số nguyên dương N, ta có dãy số A gồm các số nguyên từ 1 đến N. Phép nén dãy số là tạo ra dãy số mới mà các phần tử được tạo ra bằng cách lần lượt cộng hai số cạnh nhau của dãy số ban đầu.     Mỗi lần nén dãy số, dãy số mới sẽ ít hơn dãy số trước một phần tử. Ta nén dãy số đến khi còn một phần tử, phần tử đó là giá trị nén dãy số. Yêu cầu: in ra giá trị nén...
Đọc tiếp

Cho số nguyên dương N, ta có dãy số A gồm các số nguyên từ 1 đến N. Phép nén dãy số là tạo ra dãy số mới mà các phần tử được tạo ra bằng cách lần lượt cộng hai số cạnh nhau của dãy số ban đầu.
     Mỗi lần nén dãy số, dãy số mới sẽ ít hơn dãy số trước một phần tử. Ta nén dãy số đến khi còn một phần tử, phần tử đó là giá trị nén dãy số. Yêu cầu: in ra giá trị nén của dãy số. Vì kết quả có thể rất lớn, nên chỉ cần in ra số dư của phép chia giá trị nén dãy số cho 1000000000 (10^9).
Ví dụ với N=4 ta có kết quả cuối cùng cần in ra là số 20
 Dãy ban đầu: 1 - 2 - 3 - 4
 Nén lần 1:      3 - 5 - 7
 Nén lần 2:      8 - 12
 Nén lần 3:      20
Yêu cầu: nhập N (N có thể có 16 chữ số) in ra số dư của phép chia giá trị nén dãy số cho 1000000000 (10^9)
Ví dụ: Nhập N=4 xuất ra màn hình 20.

1
29 tháng 6 2023

```python

def nen_day_so(N):
if N == 1:
return 1
else:
return (nen_day_so(N-1) + N) % 1000000000

N = int(input("Nhập N: "))
ket_qua = nen_day_so(N)
print(ket_qua)
```

Bài 1: 

#include <bits/stdc++.h>

using namespace std;

long long a[250],i,n,k;

int main()

{

cin>>n>>k;

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

cin>>a[i];

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

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

return 0;

}

Bài 1: 

#include <bits/stdc++.h>

using namespace std;

long long a[250],i,n,k;

int main()

{

cin>>n>>k;

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

cin>>a[i];

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

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

return 0;

}

Bài 1: 

#include <bits/stdc++.h>

using namespace std;

long long a[250],i,n,k;

int main()

{

cin>>n>>k;

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

cin>>a[i];

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

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

return 0;

}

9 tháng 7 2022

#include <bits/stdc++.h>
#define ll long long
using namespace std;
ll i, j, n, a[1000005], dem = 0, m;
int main()
{
    ios::sync_with_stdio(0);
    cin.tie(0);
    cout.tie(0);
    cin >> n;
    for (i = 1; i <= n; i++)
    {
        cin >> a[i];
        if (a[i] % 3 == 0)
        {
            n--;
            i--;
        }
    }
    for (i = 1; i <= n; i++)
    {
        cout << a[i] << " ";
    }
    cout<<endl;
    for(i=1;i<=n;i++)
    {
        if(a[i]%5==0)
        {
            for(j=i;j<=n;j++)
            {
                a[j]=a[j+1];
            }
            n--;
            i--;
        }    
    }
    for(i=1;i<=n;i++)
    {
        cout<<a[i]<<" ";
    }
    return 0;
}

BT: Viết chương trình nhập vào một dãy N số nguyên dương (N<=150), nhập vào số nguyên dương K.1.      Tìm và đưa ra màn hình số lớn nhất (Max) của dãy vừa nhập, nếu dãy có nhiều số đạt Max thì tính tổng Max và đưa ra màn hình tất cả các vị trí đạt Max.2.      Tìm và đưa ra màn hình số nhỏ nhất (Min) của dãy vừa nhập, nếu dãy có nhiều số đạt Min thì tính tổng Min và đưa ra...
Đọc tiếp

BT: Viết chương trình nhập vào một dãy N số nguyên dương (N<=150), nhập vào số nguyên dương K.

1.      Tìm và đưa ra màn hình số lớn nhất (Max) của dãy vừa nhập, nếu dãy có nhiều số đạt Max thì tính tổng Max và đưa ra màn hình tất cả các vị trí đạt Max.

2.      Tìm và đưa ra màn hình số nhỏ nhất (Min) của dãy vừa nhập, nếu dãy có nhiều số đạt Min thì tính tổng Min và đưa ra màn hình tất cả các vị trí đạt Min

3.      Đếm và tính tổng các số ở vị trí chẵn là bội của số K trong dãy vừa nhập  và đưa kết quả ra màn hình.

4.      Đếm và tính tổng các số ở vị trí lẻ là ước của số K trong dãy vừa nhập và đưa kết quả ra màn hình.

5.      Số a và số b là anh em của nhau nếu a = b + 1 hoặc b = a + 1. Đếm và tính tổng các số là anh em của K trong dãy vừa nhập  và đưa kết quả ra màn hình.

1
22 tháng 12 2020

uses crt;

var a,vtmax,vtmin:array[1..100]of integer;       

 n,i,max,min,dem,t,dem1,t1,dem2,t2,dem3,t3,dem4,t4,k:integer;

begin

clrscr;

write('Nhap n='); readln(n);

for i:=1 to n do 

begin     

write('A[',i,']='); readln(a[i]); 

end;

max:=a[1];

for i:=1 to n do 

if max<a[i] then max:=a[i];

writeln('So lon nhat trong day la: ',max);

dem:=0;

t:=0;

for i:=1 to n do 

if max=a[i] then     

begin       

inc(dem);

t:=t+a[i];       

vtmax[dem]:=i;     

end;

if dem>1 then   

begin     

writeln('Tong cac so max la: ',t);     

writeln('Cac vi tri co so max la: ');     

for i:=1 to dem do       

write(vtmax[i]:4);   

end;

min:=a[1];

for i:=1 to n do 

if min>a[i] then min:=a[i];

writeln('So nho nhat trong day la: ',min);

dem1:=0;

t1:=0;

for i:=1 to n do 

if min=a[i] then     

begin       

inc(dem1);       

t1:=t1+a[i];       

vtmin[dem1]:=i;     

end;

if dem1>1 then   

begin     

writeln('Tong cac so min la: ',t1);     

writeln('Cac vi tri co so min la: ');     

for i:=1 to dem1 do       

write(vtmin[i]:4);   

end;

write('Nhap k='); readln(k);

dem2:=0;

t2:=0;

for i:=1 to n do 

if (i mod 2=0) and (a[i] mod k=0) then     

begin       

dem2:=dem2+1;       

t2:=t2+a[i];     

end;

writeln('So phan tu o vi tri chan trong day la boi cua ',k,' la: ',dem2);

writeln('Tong cac so o vi tri chan trong day la boi cua ',k,' la: ',t2);

dem3:=0;

t3:=0;

for i:=1 to n do 

if (i mod 2=1) and (k mod a[i]=0) then     

begin       

inc(dem3);       

t3:=t3+a[i];     

end;

writeln('So phan tu o vi tri le trong day la uoc cua ',k,' la: ',dem3);

writeln('Tong cac so o vi tri le trong day la uoc cua ',k,' la: ',t3);

dem4:=0;

t4:=0;

for i:=1 to n do 

if (a[i]+k=1) or (a[i]=k+1) then     

begin       

inc(dem4);       

t4:=t4+a[i];     

end;

writeln('So phan tu la anh em cua ',k,' trong day la: ',dem4);

writeln('Tong cac phan tu la anh em cua ',k,' trong day la: ',t4);

readln;

end.

- Sửa một số tại vị trí thứ k trong dãy. Nhập vào một vị trí k cần sửa, chương trình cho biết giá trị phần tử ở vị trí k đó và yêu cầu nhập giá trị cần sửa.- Chèn một số vào vị trí k, nhập từ bàn phím vị trí k và giá trị cần chèn vào dãy số.- In dãy số hiện hành ra màn hình.- Thoát khỏi chương trìnhIn ra màn hình                 HAY CHON MOT TRONG CAC SO...
Đọc tiếp

- Sửa một số tại vị trí thứ k trong dãy. Nhập vào một vị trí k cần sửa, chương trình cho biết giá trị phần tử ở vị trí k đó và yêu cầu nhập giá trị cần sửa.

- Chèn một số vào vị trí k, nhập từ bàn phím vị trí k và giá trị cần chèn vào dãy số.

- In dãy số hiện hành ra màn hình.

- Thoát khỏi chương trình

In ra màn hình

                 HAY CHON MOT TRONG CAC SO SAU: 

                                 1.Nhap day so :

                                 2.Sap xep day so :

                                 3.Tim mot so :

                                 4.Xoa mot so :

                                 5.Sua mot so:

                                 6.Chen mot so :

                                 7.In day so:

                                 8.Thoat chuong trinh.                             

1
17 tháng 4 2021

program bai_2;

uses crt;

var a:array[1..100]of byte;

n,i,j,tam,vt,vt2,x,x2,k,ch:byte;

procedure yc1;

begin

  for i:=1 to n do

  begin

    write('nhap phan tu a[',i,']:');readln(a[i]);

  end;

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

end;

procedure yc2;

begin

  for i:=1 to n do

  begin

    write('nhap phan tu a[',i,']:');readln(a[i]);

  end;

  for i:=1 to n-1 do

  for j:=i+1 to n do

  if a[i]>a[j] then

  begin

    tam:=a[i];

    a[i]:=a[j];

    a[j]:=tam;

  end;

  writeln('mang a:');for i:=1 to n do write(a[i]:3);

end;

procedure yc3;

begin

    for i:=1 to n do

    begin

      write('nhap phan tu a[',i,']:');readln(a[i]);

    end;

    write('nhap so x:');readln(x);

    for i:=n downto 1 do

    if a[i]=x then vt:=i;if a[i]=x then writeln('vi tri cua ',x,' trong mang a la:',vt);writeln;

    if a[i]<>x then writeln('khong tim thay ',x,' trong day so tren');writeln;

end;

procedure yc4;

begin

  for i:=1 to n do

  begin

   write('nhap phan tu a[',i,']:');readln(a[i]);

  end;

  write('nhap so x2:');readln(x2);

  for i:=n downto 1 do

    if a[i]=x2 then vt2:=i;if x>0 then

    begin

      for i:=vt2 to n-1 do a[i]:=a[i+1];

      for i:=1 to n-1 do write(a[i]:3);

    end

  else  if a[i]<>x2 then write('khong tim thay ',x2,' trong day so tren');

end;

procedure yc5;

begin

    for i:=1 to n do

    begin

      write('nhap phan tu a[',i,']:');readln(a[i]);

    end;

    write('nhap vi tri:');readln(vt);

    for i:=1 to n do

    if (vt=i) then writeln('phan tu o vi tri ',vt,' la:',a[vt]:3);

    for i:=vt to n-1 do a[i]:=a[i+1];

    for i:=n downto vt+1 do a[i]:=a[i-1];

    write('nhap so can sua:');readln(a[vt]);

    writeln('day so sau khi sua la:');

    for i:=1 to n do write(a[i]:3); writeln;

end;

procedure yc6;

begin

  for i:=1 to n do

  begin

   write('nhap phan tu a[',i,']:');readln(a[i]);

  end;

  write('nhap vi tri can chen k:');readln(k);

  for i:=n+1 downto k+1 do a[i]:=a[i-1];

  write('nhap so can chen vao  day:');readln(a[k]);

  writeln('day so sau khi chen ',a[k],' vao  day la:');

  for i:=1 to n+1 do write(a[i]:3);writeln;

end;

procedure yc7;

begin

  for i:=1 to n do

  begin

   write('nhap phan tu a[',i,']:');readln(a[i]);

  end;

  for i:=1 to n do

  write(a[i]:3);

  writeln;

end;

BEGIN

  clrscr;

  while ch<8 do

  begin

    clrscr;

    writeln('CHON MOT TRONG CAC SO SAU:');

    writeln('1.NHAP DAY SO:');

    writeln('2.SAP XEP DAY SO:');

    writeln('3.TIM MOT SO:');

    writeln('4.XOA MOT SO:');

    writeln('5.SUA MOT SO:');

    writeln('6.CHEN MOT SO:');

    writeln('7.IN DAY SO:');

    writeln('8.THOAT KHOI CHUONG TRINH:');

    write('nhap so co yeu cau ban muon lam:');readln(ch);

    if ch<8 then

    begin write('nhap so n:');readln(n); end;

    case ch of

      1:yc1;

      2:yc2;

      3:yc3;

      4:yc4;

      5:yc5;

      6:yc6;

      7:yc7;

    end;

    readln;

  end;

  readln;

end.

 

Bài 1: 

#include <bits/stdc++.h>

using namespace std;

long long a[250],i,n,k;

int main()

{

cin>>n>>k;

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

cin>>a[i];

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

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

return 0;

}