>백엔드 개발 >C++ >숫자가 다른 숫자로 끝나는지 확인

숫자가 다른 숫자로 끝나는지 확인

WBOY
WBOY앞으로
2023-08-26 13:25:031274검색

숫자가 다른 숫자로 끝나는지 확인

일반적인 프로그래밍 과제는 숫자가 다른 숫자로 끝나는지 확인하는 것입니다. 이 문제를 해결하려면 주어진 숫자의 마지막 숫자를 식별하고 다른 숫자와 일치하는지 확인해야 합니다. 데이터 처리, 문자열 조작, 수치 분석을 포함한 많은 응용 프로그램에는 이러한 작업이 포함되는 경우가 많습니다. 숫자를 문자열로 변환, 모듈로 산술, 논리 연산자 사용 등의 프로그래밍 방법을 사용하여 이 문제를 해결합니다. 이 주제는 숫자 조작 및 알고리즘 문제 해결 능력을 향상시키려는 초보자 및 중급 프로그래머의 관심을 끌 것입니다.

방법

번호가 다른 번호로 끝나는지 확인하는 방법은 여러 가지가 있습니다. 다음은 두 가지 일반적인 방법입니다 -

  • 모듈로 연산자(%)를 사용하세요

  • 문자열 변환 사용

방법 1: 모듈로 연산자(%) 사용

두 숫자를 나눈 경우 모듈로 연산자는 나머지를 반환합니다. 모듈로 연산자를 사용하면 두 번째 숫자를 제수로 사용하여 한 숫자가 다른 숫자로 끝나는지 여부를 확인할 수 있습니다. 결과가 두 번째 숫자와 같으면 첫 번째 숫자는 두 번째 숫자로 끝납니다.

일반적으로 사용되는 수학 연산자는 모듈로 연산자라고 하며, 나눗셈 연산의 나머지 부분을 반환하고 % 기호로 표시됩니다. 유용한 응용 프로그램은 모듈로 연산자를 사용하여 한 숫자가 다른 숫자로 끝나는지 확인하는 것입니다.

모듈로 연산자를 사용하면 한 숫자 "n"을 다른 숫자 "m"으로 나눈 후 나머지 값을 얻어 두 숫자가 연속인지 확인할 수 있습니다. 나머지가 m과 같으면 n은 m으로 끝납니다. m과 같지 않으면 그렇지 않습니다.

문법

이 메소드의 구문은 다음과 같습니다 −

  • 숫자가 다른 숫자로 끝나는지 확인하는 기능

으아아아
  • 끝 숫자의 자릿수를 구하세요

으아아아
  • 제수 계산

으아아아
  • 나머지 계산하기

으아아아
  • 나머지가 끝 숫자와 같으면 true를 반환합니다

여기서 number는 원래 숫자이고 endingnumber 끝에 있는지 확인할 숫자입니다. floor(log10(ending)) + 1 표현식은 ending의 자릿수를 계산하고, pow(10, digits)은 제수를 계산합니다. numberdivisor로 나눈 나머지는 모듈로 연산자 %를 사용하여 계산됩니다. 나머지가 ending과 같으면 함수는 true를 반환하여 numberending으로 끝난다는 것을 나타냅니다.

알고리즘

모듈로 연산자는 정수가 다른 숫자로 끝나는지 여부를 결정하기 위해 다음 C++ 절차에서 사용됩니다. −

1단계 - num을 입력하고 비교할 두 숫자인 Num을 끝냅니다.

2단계 - 모듈로 연산자(%)를 사용하여 num을 10으로 나눈 나머지를 계산합니다.

3단계 − 숫자가 끝 숫자로 끝나고 나머지가 끝 숫자와 같으면 true를 반환합니다.

4단계 - 그렇지 않은 경우 숫자를 10으로 나누고 숫자가 0이 될 때까지 1~2단계를 반복합니다.

5단계 - 루프가 일치하지 않고 끝나는 경우 숫자는 끝 Num으로 끝나지 않으므로 false가 반환됩니다.

예 1

모듈로 연산자를 사용하여 한 숫자가 다른 숫자로 끝나는지 확인하는 예 −

이 예에서 endWith 함수는 두 개의 정수 매개변수 number와ending을 허용합니다. 그런 다음 모듈로 연산자 %를 사용하여 숫자의 마지막 숫자가 끝과 같은지 확인합니다. 그렇다면 함수는 true를 반환하고, 그렇지 않으면 false를 반환합니다.

endWith 메소드를 호출하기 전에 먼저 주 함수에서 숫자와 끝을 정의합니다. 메소드가 true를 반환하면 숫자가 끝으로 끝난다는 메시지를 인쇄합니다. 그렇지 않은 경우 숫자가 끝으로 끝나지 않는다는 메시지를 인쇄합니다.

이것은 매우 간단한 예일 뿐이라는 점에 유의하는 것이 중요합니다. 숫자가 다른 숫자로 끝나는지 확인하는 방법(문자열 조작 방법 등)은 다양합니다. 모듈로 연산자는 대중적이고 효과적인 기술입니다.

으아아아

출력

으아아아

방법 2: 문자열 변환 사용

문자열 조작 함수를 사용하는 이 기술은 두 정수의 끝을 문자열로 변환하여 일치하는지 확인합니다. 일반적인 접근 방식은 to_string() 함수를 사용하여 숫자를 문자열로 변환한 다음 첫 번째 문자열의 마지막 몇 문자가 두 번째 문자열의 마지막 몇 문자와 일치하는지 찾는 것입니다.

문법

다음은 실제 코드 없이 숫자가 다른 숫자로 끝나는지 확인하는 C++의 문자열 변환 방법에 대한 구문입니다.

  • 숫자를 문자열로 변환

으아아아
  • 문자열의 마지막 몇 글자가 같은지 확인하세요

으아아아

알고리즘

다음은 숫자가 다른 숫자로 끝나는지 확인하는 C++ 알고리즘입니다 −

1단계 - 이 두 정수에 대한 문자열을 만드는 것부터 시작하세요.

2단계 - 두 번째 정수가 n이라고 가정하고 길이를 결정합니다.

步骤 3 - 如果第一个数字的长度小于 n,则返回 false。

步骤 4 − 将 substr 方法应用于第一个数字,以提取最后 n 位数字。

第五步 - 使用stoi方法将第二个数字和检索到的子字符串转换为整数。比较这两个整数

步骤6 - 如果它们相等,则返回true。如果不相等,则返回false。

Example 2

使用 to_string() 函数将这两个数字转换为字符串。然后使用 substr() 函数提取第一个字符串的最后几个字符,使其与第二个字符串的长度相匹配。然后使用 == 运算符将这些提取的字符与第二个字符串进行比较。

#include <iostream>
#include <string>

using namespace std;

int main() {
   int num1 = 123456;
   int num2 = 56;

   string str1 = to_string(num1);
   string str2 = to_string(num2);

   if (str1.substr(str1.length() - str2.length()) == str2) {
      cout << "Number 1 ends with number 2" << endl;
   } else {
      cout << "Number 1 does not end with number 2" << endl;
   }

   return 0;
}

输出

Number 1 ends with number 2

结论

总之,使用substr()函数比较每个字符串的最后几个字符,或者使用模运算来分离每个数字的最后几位数并直接比较它们,这两种方法都可以判断一个数字是否以另一个数字结尾。这两种策略都很有效,并且可以使用基本的C++编程结构来实践。许多需要模式匹配的数值和计算应用都可以从这个任务中受益。

위 내용은 숫자가 다른 숫자로 끝나는지 확인의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
이 기사는 tutorialspoint.com에서 복제됩니다. 침해가 있는 경우 admin@php.cn으로 문의하시기 바랍니다. 삭제