Trang chủ Tin Học Lớp 9 Số tăng giảm Một số được gọi là số tăng...

Số tăng giảm Một số được gọi là số tăng giảm nếu số đó có các chữ số thỏa mãn hoặc tăng dần, hoặc giảm dần từ trái qua phải. Dữ liệu đầu vào: • Số chữ số c

Câu hỏi :

Code c++ giúp mình !!!!!!!!!!!!!!!!!

image

Số tăng giảm Một số được gọi là số tăng giảm nếu số đó có các chữ số thỏa mãn hoặc tăng dần, hoặc giảm dần từ trái qua phải. Dữ liệu đầu vào: • Số chữ số c

Lời giải 1 :

#include <bits/stdc++.h>
using namespace std;

bool check(int n) {
    if (n <= 1) return false;
    if (n <= 3) return true;
    if (n % 2 == 0 || n % 3 == 0) return false;
    for (int i = 5; i * i <= n; i += 6) {
        if (n % i == 0 || n % (i + 2) == 0) return false;
    }
    return true;
}

bool chuso(string s) {
    for (int i = 1; i < s.length(); ++i) {
        if (s[i] <= s[i - 1]) return false;
    }
    return true;
}

bool chuso1(string s) {
    for (int i = 1; i < s.length(); ++i) {
        if (s[i] >= s[i - 1]) return false;
    }
    return true;
}

void inra(int n) {
    int a = pow(10, n - 1);
    int b = pow(10, n) - 1;
    int d = 0;
    for (int i = a; i <= b; ++i) {
        if (check(i)) {
            string s = to_string(i);
            if (chuso(s) || chuso1(s)) {
                d++;
            }
        }
    }
    cout << d;
}

int main() {
  int n;
  cin >> n;
    
  inra(n);
  return 0;
}

 

Lời giải 2 :

#include <bits/stdc++.h>
using namespace std;
int n;
bool snt(long long x)
{
    if(x<2)return false;
    if(x<4)return true;
    if(x%2==0||x%3==0)return false;
    for(int i=5; i*i<=x; i=i+6)
    {
        if(x%i==0||x%(i+2)==0)
        {
            return false ;
        }
    }
    return true;
}
bool t1(int n) {
    string st= to_string(n);
    bool c1=true;
    bool c2=true;
    for (int i=0;i<st.size()-1;i++) {
        if (st[i]>st[i+1]) {
            c1=false;
        }
        if (st[i]<st[i+1]) {
            c2=false;
        }
    }
    return c1||c2;
}
int main() {
    cin>>n;
    int d=pow(10,n-1);
    int c=pow(10,n);
    int dem=-1;
    for (int i=d;i<c;i++) {
        if (t1(i)&&snt(i)) {
            dem++;
        }
    }
    cout<<dem;
    return 0;
}

Bạn có biết?

Tin học là một ngành khoa học chuyên nghiên cứu quá trình tự động hóa việc tổ chức, lưu trữ, xử lý và truyền dẫn thông tin của một hệ thống máy tính cụ thể hoặc trừu tượng. Tin học bao hàm tất cả các nghiên cứu và kỹ thuật có liên quan đến việc mô phỏng, biến đổi và tái tạo thông tin. Hãy tận dụng sức mạnh của tin học để giải quyết các vấn đề và sáng tạo ra những giải pháp mới!

Nguồn :

Wikipedia - Bách khoa toàn thư

Tâm sự lớp 9

Lớp 9 - Là năm cuối ở cấp trung học cơ sở, chúng ta sắp phải bước vào một kỳ thi căng thẳng và sắp chia tay bạn bè, thầy cô. Áp lực từ kỳ vọng của phụ huynh và tương lai lên cấp 3 thật là lớn, nhưng hãy tin vào bản thân và giữ vững sự tự tin!

Nguồn :

sưu tập

Liên hệ hợp tác hoặc quảng cáo: gmail

Điều khoản dịch vụ

Copyright © 2021 HOCTAPSGK