MỌI NGƯỜI ƠI,CHO EM HỎI LÀM SAO ĐỂ LÀM HÀM KIỂM TRA SỐ BẬC THANG TRONG C++ Ạ?

2 câu trả lời

  • Lặp i chạy từ 0 đến khi i*i > n. Nếu i * i = n thì n chính là số chính phương, sau đó kết thúc chương trình.
  • Nếu i * i > n thì n không phải là số chính phương.

* Lưu ý: Trong vòng lặp cần có bước nhảy ++i, vì vậy hãy cho bước nhảy vào trong vòng lặp, nếu không vòng lặp sẽ không lặp đúng như mong muốn.

Cách 1: kiểm tra ngược và nhập vào là số

int sbt(int n) {
    int t;
    bool k = 1;
    while (n > 9) {
        t = n % 10;
        n /= 10;
        k = k & (t > n % 10);
    }
    return k;
}

Cách 2: kiểm tra thuận và nhập vào là xâu

int sbt(string s) {
    int l = s.length();
    l--;
    bool k = 1;
    for (int i = 0;i < l;i++)
        k = k & (s[i] < s[i + 1]);
    return k;
}