Bài tập  /  Bài đang cần trả lời

Lam là một học sinh giỏi Toán, nhưng lại có niềm đam mê về lập trình nên Lam quyết định thi vào lớp 10 chuyên Tin

Giải giúp vs ạaa
----- Nội dung dịch tự động từ ảnh -----
17:09 20
• Có 30% còn lại tương ứng với số test có 1 Sa my Thích
Câu 3. Tìm số
Bình luận
Gửi
. 15%
Chia sẻ
Lam là một học sinh giỏi Toán, nhưng lại có niềm đam mê về lập trình nên Lam quyết
định thi vào lớp 10 chuyên Tin mà không thi vào lớp 10 chuyên Toán. Biết được Lam sắp tới
thi vào lớp 10 chuyên Tin nên Thầy giáo có bài tập về lập trình đố Lam như sau: Cho hai số
nguyên dương a và b. Xét tất cả các số nguyên dương là bội của a hoặc b (nếu có hai số trùng
nhau chỉ lấy một số) và sắp xếp chúng thành dãy tăng dần.
Yêu cầu: Tìm số thứ N trong dãy sau khi đã sắp xếp.
Dữ liệu: Vào từ tệp văn bản CAU3.INP gồm:
• Dòng 1 chứa số nguyên dương 7 là số test (T ≤ 10);
• T dòng tiếp theo, mỗi dòng chứa ba số nguyên dương a, b, N biểu thị cho một test (a, b
≤10³; N≤2.10%).
Kết quả: Ghi ra tệp văn bản CAU3.OUT gồm 7 dòng, mỗi dòng một số nguyên là kết quả một
test tương ứng.
Ví dụ:
CAU3.INP
hsgtin v CAU3.OUT
469
23 10
332
Ràng buộc:
28
15
6
Giải thích
Các bội nguyên dương của 4 hoặc 6 theo thứ tự sau
khi sắp xếp là: 4, 6, 8, 12, 16, 18, 20, 24, 28....
Vậy số thứ 9 của dãy trên là 28
• Có 20% số điểm tương ứng với số test có T = 1, a = b và N<2.10;
• Có 30% số điểm tương ứng với số test có T = 1, a = b và N≤10;
• Có 50% số điểm tương ứng với số test không còn ràng buộc gì thêm.
dy Thích
Q Bình luận
Gui
Chia sẻ
Câu 4. Đảo xấu
Lam là một học sinh giỏi môn Tin học, các bạn trong lớp hay nhờ Lam giải các bài toán
khó. Hôm nay các bạn có nhờ Lam một bài toán về xâu như sau: Cho xâu S chỉ gồm các kí tự
chữ cái in thường, các kí tự trong xâu S được đánh số thứ tự từ 1 đến |S] (trong đó |S1 là độ dài
của xâu S) và thực hiện m lần thay đổi. Với mỗi lần thay đổi, chọn một số nguyên dương k và
đảo ngược một đoạn của xâu S từ vị trí k trở về vị trí |S] - k+ 1 (luôn đảm bảo k >
Yêu cầu: Viết chương trình tìm xâu S sau m lần thay đổi.
Dữ liệu: Vào từ tệp văn bản CAU4.INP gồm:
• Dòng thứ nhất là xâu S (2 ≤ |S|≤2.10);
*
hsgtin.vn
Dòng thứ hai là số nguyên dương m (1 ≤ m ≤ 10);
• Dòng thứ ba là m số nguyên dương a1, a2, .., am (lộ! < aiS|S|; i=1.. m).
α
Kết quả: Ghi ra tệp văn bản CAU4.OUT gồm 1 dòng duy nhất là kết quả của bài toán.
Ví dụ:
CAU4.INP
abcdef
hsgtin.vn
564
Ràng buộc:
CAU4.OUT
fbdcea
Giải thích
Với k = 5 thì xâu “abcdef thay đổi thành “aedcbf
Với k = 6 thì xâu “aedcbf lại đổi thành “fbcdea”
|Với k = 4 thì xâu “fbcdea” lại đổi thành “bdcea
• Có 50% số điểm tương ứng với số test có |S| ≤ 103 và m ≤ 103
• Có 50 % số điểm tương ứng với số test không có ràng buộc gì thêm,
dy Thích
Q Bình luận
Gửi
Chia sẻ
3 Xem trả lời
Hỏi chi tiết
470
1
0
Antony
27/05 08:42:53
+5đ tặng
3. 
program TimSo;

uses SysUtils;

var
  N, S, i: LongInt;
  numbers: array[1..9000] of LongInt;

begin
  ReadLn(N, S);
  
  // Tạo mảng các số nguyên dương có 4 chữ số
  for i := 1 to 9000 do
    numbers[i] := 1000 + i - 1;
  
  // Sắp xếp mảng (thực ra mảng đã được sắp xếp)
  // Array is inherently sorted from 1000 to 9999

  // In ra số thứ S trong mảng
  WriteLn(numbers[S]);
end.

4.
program DaoSau;

uses SysUtils;

var
  s, substring: string;
  i, j, len: Integer;

begin
  ReadLn(s);
  ReadLn(i, j);

  // Đảo ngược đoạn con từ i đến j
  substring := Copy(s, i + 1, j - i + 1);
  Delete(s, i + 1, j - i + 1);
  len := Length(substring);
  while len > 0 do
  begin
    s := Concat(Copy(substring, len, 1), s);
    Dec(len);
  end;

  // In ra chuỗi đã đảo ngược đoạn con
  WriteLn(s);
end.
 

Mở khóa để xem toàn bộ nội dung trả lời

(?)
Bạn đã đạt đến giới hạn của mình. Bằng cách Đăng ký tài khoản, bạn có thể xem toàn bộ nội dung trả lời
Cải thiện điểm số của bạn bằng cách đăng ký tài khoản Lazi.
Xem toàn bộ các câu trả lời, chat trực tiếp 1:1 với đội ngũ Gia sư Lazi bằng cách Đăng nhập tài khoản ngay bây giờ
Tôi đã có tài khoản? Đăng nhập
0
0
Lena
21/08 11:38:02

3.

#include<bits/stdc++.h>
using namespace std;
typedef long long gh;
gh t;
int main()
{

    cin>>t;
    while(t--)
    {
        gh a,b,n;
        cin>>a>>b>>n;
        gh d=1,c=a*b*n,kq=0;
        while(d<=c)
        {
            gh giua=(d+c)/2;
            if(giua/a+giua/b-giua/(a*b/__gcd(a,b))<=n)
            {
                kq=giua;
                d=giua+1;
            }
            else
                c=giua-1;
        }
        if(abs(kq-kq/a*a)<abs(kq-kq/b*b))
            kq=kq/a*a;
        else
            kq=kq/b*b;
        cout<<kq<<"\n";
    }
}
 

0
0
#include <bits/stdc++.h>
using namespace std;
int a[1000001],d[1000001],e[1000001];
int main()
{
    ios_base::sync_with_stdio(0);cin.tie(0);cout.tie(0);
    freopen("DAOXAU.INP","r",stdin);
    freopen("DAOXAU.OUT","w",stdout);
    string s;
    cin>>s;
    int n;
    cin>>n;
    for(int i=1;i<=n;i++)
        cin>>a[i];
    sort(a+1,a+1+n);
    for(int i=1;i<=n;i++)
        d[a[i]]++;
    e[s.size()/2]=0;
    d[s.size()/2]=0;
    for(int i=s.size()/2+1;i<=s.size();i++)
        {e[i]=n-d[i-1];n=e[i];}
    for(int i=s.size()/2+1;i<=s.size();i++)
        if(e[i]!=0)
    {
        if(e[i]%2==1)
            swap(s[i-1],s[s.size()-i]);
    }
    cout<<s;
    return 0;
}

Bạn hỏi - Lazi trả lời

Bạn muốn biết điều gì?

GỬI CÂU HỎI
Học tập không giới hạn cùng học sinh cả nước và AI, sôi động, tích cực, trải nghiệm

Hôm nay bạn thế nào? Hãy nhấp vào một lựa chọn, nếu may mắn bạn sẽ được tặng 50.000 xu từ Lazi

Vui Buồn Bình thường
×
Trợ lý ảo Trợ lý ảo
×
Đấu trường tri thức | Lazi Quiz Challenge +500k
Gửi câu hỏi
×