Có thể giải pháp HackerRank Python không?

/*
 *  Author: Arpit Bhayani
 *  //arpitbhayani.me
 */
#include 
#include 
#include 
#include 
#include 
#include 
#include 
#include 
#include 
#include 
#include 
#include 
#include 

#define ll long long

#define MIN[a, b] a < b ? a : b
#define MAX[a, b] a > b ? a : b

using namespace std;

int readline[char *str] {
    int i = 0;
    char ch;
    while[[ch = getchar[]] != '\n'] {
        str[i++] = ch;
    }
    str[i] = '\0';
    return i;
}

ll int gcd[ll int a, ll int b] {
    if[b == 0] {
        return a;
    }
    return gcd[b, a % b];
}

int main[int argc, char *argv[]] {
    int t;
    scanf["%d", &t];

    while[t--] {
      ll int a, b, x, y;
      scanf["%lld%lld%lld%lld", &a, &b, &x, &y];

      ll int u1, u2;

      u1 = a > b ? gcd[a, b] : gcd[b, a];
      u2 = x > y ? gcd[x, y] : gcd[y, x];

      if [u1 == u2] {
          printf["YES\n"];
      }
      else {
          printf["NO\n"];
      }
    }

    return 0;
}

Đầu tiên ta sẽ kiểm tra trường hợp cạnh, Nếu độ dài của s bằng 1 thì chuỗi số không thể đẹp nên in ra KHÔNG

if len[s]==1:
print["NO"]
return

Thay vì xác định xem chuỗi số đã cho có đẹp hay không bằng cách cắt nó hoặc thực hiện các thao tác khác trực tiếp trên nó, chúng ta sẽ tạo một chuỗi đẹp hợp lệ của riêng mình và đánh đồng nó với chuỗi số đã cho.

Để tạo một chuỗi số đẹp của riêng mình, Chúng tôi sử dụng vòng lặp for để lặp từ 1 đến một nửa độ dài của s

for i in range[1, len[s]//2+1]:

Khi đã ở trong vòng lặp for, chúng ta khai báo một biến genstr và gán s[. tôi] với nó. Nếu s = “91011" và i = 3 thì s[. tôi]=”910”. Sau đó, chúng tôi khai báo một biến prev khác và gán int[genstr] cho nó

for i in range[1, len[s]//2+1]:
genstr = s[:i]
prev = int[genstr]

Sau đó, chúng tôi sử dụng vòng lặp while để chạy một khối mã cho đến khi độ dài genstr nhỏ hơn độ dài s

while len[genstr] < len[s]:

Trong vòng lặp while, chúng ta khai báo một biến next và gán prev+1 cho nó. Sau đó, chúng tôi nối thêm genstr với str[next]

while len[genstr] < len[s]:
next = prev+1
genstr+=str[next]

Sau đó, chúng ta gán giá trị của next cho prev trong vòng lặp while

while len[genstr] < len[s]:
next = prev+1
genstr+=str[next]
prev = next

Với sự trợ giúp của giá trị i trong vòng lặp for, chúng tôi tạo số đầu tiên thành một chuỗi đẹp có thể và gán nó cho genstr, Sau đó, chúng tôi nối các số liên tiếp vào genstr trong vòng lặp while bằng cách sử dụng các biến prev và next

Sau đó, sau khi hoàn thành vòng lặp while, chúng ta so sánh genstr và s, nếu genstr bằng s thì s là một chuỗi đẹp và chúng ta in ra “YES” và s[. tôi], nơi s[. i] là số đầu tiên của dãy tăng

if genstr == s:
print["YES", s[:i]]
return

Khi chúng tôi thoát khỏi vòng lặp for khi hết giá trị của i, thì chắc chắn rằng s không phải là một chuỗi đẹp và chúng tôi in ra “KHÔNG”

Bạn được cho một cặp số nguyên [x,y]. Bạn có thể thực hiện một trong hai thao tác bên dưới, theo bất kỳ thứ tự nào, không hoặc nhiều lần

1. [x,y] -> [x+y,y]
2. [x,y] -> [x,y+x]

Ví dụ: bạn có thể bắt đầu bằng [1, 4], đổi thành [5, 4], đổi thành [5, 9], sau đó đổi lại thành [5, 14].
Bạn có bốn số nguyên. a, b, c và d. Trả về “Có” [không có dấu ngoặc kép] nếu có thể bắt đầu bằng cặp [a, b] và kết thúc bằng cặp [c, d]. Nếu không, hãy trả về “Không”.

chữ ký phương thức. Chuỗi isitpossible[int a, int b, int c, int d]

Input
Bốn số nguyên trong các dòng riêng biệt.

Đầu ra
Một chuỗi “Có” hoặc “Không”.

Hạn chế

1≤ a,b,c,d ≤ 1000

Đầu vào mẫu
1
4
5
9

Đầu ra mẫu

Giải thích
[1, 4] -> [5, 4] -> [5, 9].

Giải pháp trong Java

________số 8

Chia sẻ cái này

  • Twitter
  • Facebook

Như thế này

Thích Đang tải.

Có liên quan

HackerRank có phát hiện gian lận không?

HackerRank cho phép giám thị kiểm tra và kiểm tra đạo văn để đảm bảo rằng thí sinh không gian lận . Đối với giám thị, HackerRank yêu cầu quyền truy cập vào webcam của bạn trước khi kiểm tra để ghi lại các hoạt động của bạn và tìm kiếm các sơ suất, nếu có.

Điều gì xảy ra nếu bạn không đạt HackerRank?

Điều gì xảy ra nếu tôi trượt bài kiểm tra? . Nếu bạn không hoàn thành bài kiểm tra, bạn có thể làm lại bài kiểm tra sau một khoảng thời gian quy định . Kết quả và những lần thử không thành công của bạn sẽ được giữ kín và sẽ không được chia sẻ với bất kỳ công ty nào.

Các bài kiểm tra HackerRank có khó không?

Các bài kiểm tra viết mã trong HackerRank rất khó và là cách tốt nhất mà chúng tôi tìm được để sàng lọc các ứng viên phù hợp về kỹ năng kỹ thuật chuyên sâu . Các bài kiểm tra rất giống với loại điều mà bạn sẽ tìm thấy trong một cuộc thi viết mã.

Chúng tôi có thể sao chép mã dán trong HackerRank không?

Sao chép/Dán theo dõi . Ngoài ra, nếu ứng viên cố gắng dán mã từ các nguồn khác, nó sẽ bị ghi lại trong mô hình đạo văn của chúng tôi. If a candidate pastes a copied code in the assessment, you can view that pasted code in the candidate's test report. Also, if the candidate tries to paste the code from other sources, it will be captured in our plagiarism model.

Chủ Đề