>  기사  >  백엔드 개발  >  주어진 접두어가 없는 N자리 숫자의 개수를 센다.

주어진 접두어가 없는 N자리 숫자의 개수를 센다.

WBOY
WBOY앞으로
2023-09-03 19:53:061267검색

주어진 접두어가 없는 N자리 숫자의 개수를 센다.

여기서 문제는 정수 N과 문자열 접두사 배열 pre[]를 제공하여 길이 N의 문자열에 포함된 '0'에서 '9'까지의 문자 수를 결정하는 것입니다. 문자열 제공된 접두사를 포함하는 문자열입니다. 이 글의 목적은 주어진 접두사가 없는 N자리 숫자의 개수를 찾는 프로그램을 구현하는 것입니다.

C 프로그래밍 언어에서 배열은 유사한 유형의 데이터 조각 집합의 선형 조합이기 때문에 고유한 문자열 집합을 배열이라고 합니다.

우리가 이미 알고 있듯이 문자열은 비어 있거나 null 문자로 끝나는 문자별 1차원 배열입니다.

예제 1

입력 N = 2라고 가정하겠습니다.

으아아아 으아아아

설명

여기서 {"01","10","11", "12", "13", "14", "15", "16", "17", "18", "19"를 제외하고 모두 "21", "31", "41", "51", "61", "71", "81", "91"}을 제외한 2자리 문자열이 유효합니다.

예시 2

입력값 N=3을 예로 들어보겠습니다.

으아아아 으아아아

설명

여기서는 {"560", "561", "562", "563", "564", "565", "566", "567", "568", "569"} 3자리 문자열을 제외한 모든 항목 모두 유효합니다.

예시 3

입력 N = 1을 살펴보겠습니다.

으아아아 으아아아

설명

{"6"}을 제외한 모든 1자리 문자열이 유효합니다.

문제 설명

주어진 접두사가 없는 N자리 숫자를 찾는 프로그램을 구현하세요.

방법

주어진 접두어를 지정하지 않고 N 자리 수를 찾으려면 다음 방법을 사용합니다.

이 문제를 해결하고 주어진 접두사가 없는 N개의 숫자로 가는 길을 찾으세요

문자열의 각 위치에 대해 10개의 문자 옵션이 있다는 점을 고려하면 총 10N개의 잠재적 문자열이 있습니다. 원하는 문자열의 총 개수를 세는 대신 원하지 않는 문자열의 총 개수를 빼세요. 반복하기 전에 초기 문자가 동일한 접두사를 더 긴 접두사로 병합하면 일부 중복 항목이 제거될 수 있습니다.

알고리즘

다음 주어진 접두사가 없는 N자리 숫자를 찾는 알고리즘

  • 첫 번째 단계 − 시작

  • 2단계 - 주어진 접두어를 포함하지 않는 N 길이의 문자열의 총 개수를 계산하는 함수를 정의합니다.

  • 3단계 - 기존 문자열의 총 개수를 계산합니다

  • 4단계 - 배열을 만들고 a와 aCount를 카운터하고 여기에 접두사를 삽입하세요

  • 5단계 − 새로운 접두사 문자열 배열 만들기

  • 6단계 - 각 시작 문자에 대해 반복

  • 7단계 - 배열을 반복하여 최소 크기 접두사 계산

  • 8단계 - 이제 이러한 최소 접두사를 모두 새로운 접두사 배열에 넣습니다

  • 9단계 - 새 접두사 반복

  • 10단계 - 원치 않는 문자열 공제

  • 11단계 − 얻은 결과를 인쇄하세요

  • 12단계 − 중지

예: C 프로그램

이것은 주어진 접두사가 없는 N자리 숫자를 찾기 위해 위 알고리즘을 C 프로그램으로 구현한 것입니다.

으아아아

출력

으아아아

결론

마찬가지로, 주어진 접두사가 없는 N자리 숫자의 개수를 찾을 수 있습니다.

이 게시물에서는 주어진 접두사가 없는 N자리 수를 찾는 프로그램을 얻는 문제가 해결되었습니다.

여기에는 주어진 접두사가 없는 N자리 숫자의 개수를 찾는 알고리즘과 함께 C 프로그래밍 코드가 제공됩니다.

위 내용은 주어진 접두어가 없는 N자리 숫자의 개수를 센다.의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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