Computer >> Máy Tính >  >> Lập trình >> C ++

Tìm hệ số góc của một số đã cho bằng C ++

Trong bài toán này, chúng ta được cho một số N. Nhiệm vụ của chúng ta là tìm hệ số góc của số đã cho .

Độ dốc của một số là tổng số chữ số cực đại và cực tiểu trong một số.

Chữ số cực đại là chữ số mà cả hai hàng xóm (trước và sau) đều nhỏ hơn.

Chữ số cực đại là chữ số mà cả hai hàng xóm (trước và sau) đều lớn hơn.

Hãy lấy một ví dụ để hiểu vấn đề,

Đầu vào

N = 9594459

Đầu ra

2

Phương pháp tiếp cận giải pháp

Một giải pháp đơn giản cho vấn đề là duyệt từng chữ số từng chữ số để loại trừ chữ số đầu tiên và cuối cùng (không tính dạng cực đại hoặc cực tiểu). Bây giờ, đối với mỗi chữ số, chúng ta sẽ kiểm tra xem các chữ số đó lớn hơn hay nhỏ hơn các chữ số trước và sau nó. Cuối cùng, chúng tôi sẽ trả về số cực đại và cực tiểu.

Ví dụ

Chương trình minh họa hoạt động của giải pháp của chúng tôi

#include <iostream>
using namespace std;
int findNumberSlope(string N, int len){
   int slope = 0;
   for (int i = 1; i < len - 1; i++) {
      if (N[i] > N[i - 1] && N[i] > N[i + 1])
         slope++;
      else if (N[i] < N[i - 1] && N[i] < N[i + 1])
         slope++;
   }
   return slope;
}
int main(){
   string N = "574473434329";
   int len = N.size();
   cout<<" The slope of the given number is "<<findNumberSlope(N, len);
   return 0;
}

Đầu ra

The slope of the given number is 7