소프트웨어 모든 경우 도출하기
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 | - | - |
100012 | 윈 도 우| 자료실의 Windows 7 Alienware Ultimate 32bit, 64bit에 대... | 소천 | 164970 | 10-01 |
100011 | 윈 도 우| 자료실의 Windows 7 Alienware Ultimate 32bit 받아볼수 없... [2] | 오백원 | 164106 | 10-10 |
100010 | 윈 도 우| 바로가기실행 아이콘의 동작불능 | 가난한사람 | 160512 | 01-31 |
100009 | 윈 도 우| 자료실의 Alienware Windows7의 로고를 원래대로 복원하는 ... [4] | 소천 | 150536 | 10-04 |
100008 | 윈 도 우| Windows 7의 관리 기능을 집약한 숨겨진 GodMode의 존재 [5] | 죠타로 | 123849 | 01-07 |
100007 | 윈 도 우| PE 시작메뉴랑 작업표시줄 숨길 수 없나요? [11] | 배추보쌈 | 107074 | 01-17 |
100006 | 기 타| html&css 중급자 이상자 분께 도움을 요청해봅니다,, [3] | ㄴ초심ㄱ | 102011 | 05-16 |
100005 | 하드웨어| KMS Activator에 대해서 질문있습니다. | 오잉!? | 85419 | 04-20 |
100004 | 윈 도 우| 카리스마조님의 바로가기 말인데요~ [1] | KOOL하게 | 84406 | 01-06 |
100003 | 윈 도 우| 가젯이 CPU 점유율 상승문제에 영향을 주는군요. [22] | BigShit | 83694 | 11-26 |
100002 | 윈 도 우| page fault in nonpaged area [1] | 한강한뺨뷰 | 80292 | 08-24 |
100001 | 윈 도 우| 인터넷 바로가기 관련 궁금한점이 있습니다. [1] | 도라란 | 79931 | 07-06 |
100000 | 윈 도 우| 모든 바로가기를 실행하면 연결프로그램 선택 창이 떠요ㅠㅠ [4] | 네버s2 | 73049 | 09-17 |
99999 | 윈 도 우| 9down.dom 같은 사이트 또 없나요 [3] | 애벌레 | 67504 | 12-10 |
99998 | 하드웨어| 문의)) "kms Server" 삭제 안하고 써도 괜찮나요??? [1] | Chobits0914 | 66870 | 04-29 |
99997 | 윈 도 우| suk님 시간되시면 부탁드립니다. [7] | 초보라서죄 | 64980 | 12-06 |
99996 | 하드웨어| 문의)) KMS인증과 가상바이오스 인증 중 안정적인 것은 어... [2] | Chobits0914 | 64577 | 06-17 |
99995 | 윈 도 우| win7 / vista god mode 활성화 시키기 [7] | 카츠라 | 61011 | 01-06 |
99994 | 윈 도 우| [A.I_7T]SLIC2.1 인증에대해.. [1] | 김간지 | 58991 | 01-23 |
엑셀 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