소프트웨어 모든 경우 도출하기
2020.09.14 03:56
안녕하세요 윈도우포럼 형님들
문자열 abc 가 있으면 사이에 점을 넣어서
abc
ab.c
a.bc
a.b.c
이런 식으로 결과를 볼수있는 방법 있을까요? 예를 들어 문자가 30개면 경우의 수가 536870912인데 컴퓨터가 그걸 처리해주는 프로그램이나 사이트, 아니면 엑셀이나 스크래치같은 걸로 어떻게 짜야하는지 알려주실 수 있을까요? 30개가 너무 많다면 더 소량도 괜찮습니다.
댓글 [7]
-
BecauseI 2020.09.14 07:03 -
황황 2020.09.14 14:45
답변 감사합니다
-
라랑 2020.09.14 09:02
제가 프로그래밍을 안해본지 너무 오래되서 어떻게 작성하는지 다 까먹었는데 알고리즘은 간단해보이는데요..
int str_length
str_length = 숫자의 자릿수 << 이거는 아예 모르겠네요
var_texture_var = 입력된 숫자를 문자화한 값을 대입하는 변수...
for(i=0, i=str_length, i++) {
포인터나 배열 선언하고 그 숫자까지의 문자만 출력하고 그 다음에 점 출력하고 그리고 나머지 출력하고
말은 쉬운데 작성법은 모르겠네요 ^^; 답변 안하느니만 못한건가 ㅠ.ㅠ 죄송합니다.
printf("i", \n)
}
-
황황 2020.09.14 14:46
답변 감사합니다
-
황황 2020.09.14 14:47
쉽지 않은 것 같네요ㅠㅠ
-
메리아 2020.09.14 15:27
기본적으로 비트연산에 해당되네요.
각 점을 0과 1로 생각하고
abc 3개인 경우 2^(3-1) = 4 개의 경우의 수.
즉, 비트값믈 가져올수만 있으면 볼 수 있겠네요.
0~2^(n-1) - 1 까지 숫자를 순서대로 읽어 이진수로 변환 후 0일땐 안찍고 1일땐 찍고 이런식으로 해야죠.
이 경우엔 0~3까지
00
01
10
11
값을 읽고 그 포인트에 따라 사이사이 찍으면 될듯.
설명은 되지만 막상 짤려고 하니까 헷갈리네요.
이진수 변환은
https://suninara.tistory.com/72
이거 이용하면 될듯.
근데 30개 정도 되면 결국 조합 갯수가 5억여개가 출력되어야하는데,
정확하게 어떤걸 원하시는건지 모르겠네요.
TXT파일로 출력하면 대강 어림잡아봐도 30GB 바이트짜리 TXT가 요구됩니다.
큰만큼 메모리에도 못 올려요.
정말 그걸 원하시는 건가요?
-
오후9시7분 2020.10.25 06:47
파이썬에 경우의 수를 뽑아주는 모듈이 있어서 파이썬으로 코드를 짜서 텍스트 파일에 저장하도록 했습니다.
중복되는 문자는 고려를 하지 않았습니다. 예를 들어, "ABCA",,,이런식으로 A가 2번 들어갈 경우는 예상한 결과와 다르게 출력됩니다.
중복되는 문자도 고려하려면 코드를 수정해야겠지요?
번호 | 제목 | 글쓴이 | 조회 | 등록일 |
---|---|---|---|---|
[공지] | 질문과 답변 게시판 이용간 유의사항 | gooddew | - | - |
85991 | 윈 도 우| PE중에 디펜더 없는 찾아요 [3] | escaflowne | 291 | 09-29 |
85990 | 윈 도 우| 멀티부팅 설치 관련... [1] | 쌍무지개 | 186 | 09-29 |
85989 | 윈 도 우| Win10xpe 빌드 후 에러메시지 질문합니다. [2] | 원고지 | 173 | 09-29 |
85988 | 윈 도 우| 윈도10 로그인 암호 입력 생략 [1] | LifeLine | 519 | 09-29 |
85987 | 소프트웨어| 하드 데이터에 대한 원본 디스크 백업 질문 [2] | Airbrone13 | 148 | 09-29 |
85986 | 하드웨어| 최신 인텔 11세대에 대한 질문 [1] | Airbrone13 | 372 | 09-29 |
85985 | 소프트웨어| install.wim 용량 줄이기(폴더 삭제) [8] | kimberly_c | 512 | 09-29 |
85984 | 하드웨어| 하드가 좀 이상합니다. [2] | 현민지 | 307 | 09-29 |
85983 | 소프트웨어| 윈도우 10 메인보드 영구인증 프로그램하고 생성된 파일 프... [2] | 우주컴퓨터 | 748 | 09-29 |
85982 | 윈 도 우| Pe를 가상디스크로 부팅방법 알려주셔요 [11] | 조용한귤 | 284 | 09-29 |
85981 | 윈 도 우| 윈도우 계정이 꼬인것 같은데요.. [3] | 뷰리풀투데 | 222 | 09-29 |
85980 | 윈 도 우| Win10XPE93 빌드후 [9] | x타락천사x | 490 | 09-29 |
85979 | 소프트웨어| WinClon 6.0 사용하시는분 계신가요? [2] | 두힘 | 393 | 09-28 |
85978 | 윈 도 우| Win10XPE93 빌드후 작업표시줄 수정 질문입니다. [4] | 포토엔유 | 246 | 09-28 |
85977 | 하드웨어| 메인보드에 CPU 문의요... [6] | 토니™짱야 | 246 | 09-28 |
85976 | 소프트웨어| 동영상 변환할때... [2] | knada | 165 | 09-28 |
85975 | 윈 도 우| PE로 부팅하여 GimageX등 활용 install.wim파일로 윈도우 ... [3] | 초리니 | 334 | 09-28 |
85974 | 윈 도 우| 유틸 통합된 윈도우에서 유틸추출 [2] | WB | 373 | 09-28 |
85973 | 소프트웨어| 레이드라이브 바이두윈 | 레덕후 | 123 | 09-28 |
85972 | 윈 도 우| 20H2로 업글할려니 시스템창을 못쓰니 고민입니다. [4] | 두힘 | 467 | 09-28 |
엑셀 vb 편집기(alt + F11) 을 이용해서 하드코딩식으로 하면 할수는 있으나
모든 경우의 수를 하기에는 개발고수님이 등장하셔야 합니다.
Sub AddString()
Dim Rng As Range
Dim WorkRng As Range
On Error Resume Next
xTitleId = "test"
Set WorkRng = Application.Selection
Set WorkRng = Application.InputBox("Range", xTitleId, WorkRng.Address, Type:=8)
For Each Rng In WorkRng
Rng.Value = VBA.Left(Rng.Value, 1) & "." & VBA.Mid(Rng.Value, 2)
Rng.Value = VBA.Left(Rng.Value, 3) & "." & VBA.Mid(Rng.Value, 4)
Rng.Value = VBA.Left(Rng.Value, 5) & "." & VBA.Mid(Rng.Value, 6)
Next
End Sub
실행 F5
데이타 : 1234
결과 : 1.2.3.4