내 언어로 문자열에 작업 추가

하산 Mhd 아민

다음과 같은 5 자 단어가 있습니다.

"AD5B6" , "1G2H0" , "HASAN" , "ABC5Z" , "1ZZZZ"

계산 시스템과 같이 내 단어에 "1"을 추가 할 때 새 값이 필요하므로 결과는 다음과 같습니다.

"AD5B7" , "1G2H1" , "HASAO" , "ABC60" , "20000"

이에 대한 코드를 작성했지만 이전 값을 증가시켜야하기 때문에 'Z'문자에 문제가 있습니다. 내 C # 코드는 다음과 같습니다.

public string Get(string h)
{
    var lang = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ";
    string hash = h.ToUpper();
    char c = hash[hash.Length - 1]; // last char in the word
    string result = "";
    for (int i = 0; i < lang.Length; i++)
    {
        if (c == lang[i] && c != 'Z')
        {
            char cc = lang[i + 1];   // last char + 1
            string s1 = hash.Split(c)[0];
            string s2 = hash.Split(c)[1];
            result = s1 + cc + s2;
            break;
        }
        else
        { // the wrong in this code and i think i should do it in recursive way
            char cc = '0';
            string s1 = hash.Split(c)[0];
            char s11 = s1[s1.Length - 1];
            string s2 = hash.Split(c)[1];
            result = s1 + cc + s2;
            break;
        }
    }
    return result;
}
작업

다음과 같은 작업을 원하는 것 Base36같습니다.

var base36 = new BaseN("0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ");

Console.WriteLine( base36.ToBaseNString(base36.FromBaseNString("AD5B7") + 1) );
Console.WriteLine( base36.ToBaseNString(base36.FromBaseNString("1ZZZZ") + 1) );
Console.WriteLine( base36.ToBaseNString(base36.FromBaseNString("ZZZZZ") + 1));
Console.WriteLine( base36.ToBaseNString(base36.FromBaseNString("6ZZZZZZZZZZZZZZZZZZ") + 1) );

Console.WriteLine(base36.ToBaseNString(base36.FromBaseNString("123") * 2));

모든 문자 집합에 대한 일반적인 alogorithm은 다음과 같이 작성할 수 있습니다.

using System;
using System.Collections.Generic;
using System.Linq;
using System.Numerics;

public class BaseN
{
    List<char> CHARSET = null;

    public BaseN(string charset)
    {
        CHARSET = new List<char>(charset);
    }

    public String ToBaseNString(BigInteger input)
    {
        var stack = new Stack<char>();
        while (input != 0)
        {
            stack.Push(CHARSET[(int)(input % CHARSET.Count)]);
            input /= CHARSET.Count;
        }
        return new string(stack.ToArray());
    }

    public BigInteger FromBaseNString(string input)
    {
        BigInteger sum = 0;
        int i = 0;
        foreach (char c in input.Reverse())
        {
            sum += CHARSET.IndexOf(c) * BigInteger.Pow(CHARSET.Count, i++);
        }
        return sum;
    }
}

C #에서 비트 연산을 수행하는 더 좋은 방법이 있지만 다음과 같이 할 수도 있습니다.

var base2 = new BaseN("01");
Console.WriteLine( base2.ToBaseNString(base2.FromBaseNString("11") *3 ) );

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

문자 배열과 관련된 c 언어의 내부 작업

분류에서Dev

내 프로그래밍 언어에 람다 추가

분류에서Dev

문자열 PHP에서 단어를 찾고 PHP 스크립트 내에서 작업을 생성하면 구문 오류가 발생합니다.

분류에서Dev

처리에서 Arduino로 문자열 보내기가 작동하지 않음

분류에서Dev

VSTS 내 백 로그에 새 문제 작업 항목을 추가하는 방법은 무엇입니까?

분류에서Dev

나는 작동하는 부분 문자열이 있지만 언젠가 내가 사용하는 단어가 주석에 없습니다.

분류에서Dev

PendingIntent로 JobScheduler에 새 작업 추가

분류에서Dev

파일 내에서 줄을 문자열로 바꾸거나 추가

분류에서Dev

파일 내 다양한 길이 문자열의 시작 / 끝에 문자 추가 (Python / * nix)

분류에서Dev

작업 내에 lookset ()을 추가 한 후 SSRS 누적 세로 막 대형 차트 범례가 잘못됨

분류에서Dev

작업 내에 lookset ()을 추가 한 후 SSRS 누적 세로 막 대형 차트 범례가 잘못됨

분류에서Dev

purrr 언어 내에 존재하지 않는 경우 열 추가

분류에서Dev

업데이트 문 내부에 If 추가

분류에서Dev

문서로드시 Office 추가 기능 작업 창을 열어 둡니다.

분류에서Dev

내 연결 문자열에 어떤 문제가 있습니까?

분류에서Dev

operator =가 내 사용자 정의 문자열 클래스에서 제대로 작동하지 않습니다.

분류에서Dev

HTML에서 현지 언어로 작업

분류에서Dev

문자열에 해당 문자가 포함되어 있지 않은데 왜 내 문자열이 배열의 무언가와 일치합니까?

분류에서Dev

"0"을 추가합니다. 또는 문자열 내의 일부 숫자 시작 부분에 "0.0"

분류에서Dev

내 하드웨어가 14.04 작업에 적합합니까?

분류에서Dev

"작업 추가"를 클릭 한 후 작업 아래에 내 텍스트를 표시하려면 어떻게해야합니까?

분류에서Dev

면도기 문자열 내부의 문자로 '@'가 작동하지 않음

분류에서Dev

Powershell에서 배열 내부의 숫자 문자열로 작업을 수행하려면 어떻게해야합니까?

분류에서Dev

PHP 문자열 내부에 가격 기호로 문자열을 래핑

분류에서Dev

작은 따옴표로 시작하는 문자열을 Excel 셀에 추가

분류에서Dev

UIButton.addTarget이 작업을 나타내는 문자열 뒤에 ":"가 필요한 이유는 무엇입니까?

분류에서Dev

System.IO.FileInfo가 WIX 사용자 지정 작업에서 사용될 때 경로에 예기치 않은 문자열을 추가합니다.

분류에서Dev

strtok ()는 내 문자열에 문자를 추가합니다.

분류에서Dev

문자열 추출 중에 내 코드가 Python Regex에서 작동하지 않는 이유

Related 관련 기사

  1. 1

    문자 배열과 관련된 c 언어의 내부 작업

  2. 2

    내 프로그래밍 언어에 람다 추가

  3. 3

    문자열 PHP에서 단어를 찾고 PHP 스크립트 내에서 작업을 생성하면 구문 오류가 발생합니다.

  4. 4

    처리에서 Arduino로 문자열 보내기가 작동하지 않음

  5. 5

    VSTS 내 백 로그에 새 문제 작업 항목을 추가하는 방법은 무엇입니까?

  6. 6

    나는 작동하는 부분 문자열이 있지만 언젠가 내가 사용하는 단어가 주석에 없습니다.

  7. 7

    PendingIntent로 JobScheduler에 새 작업 추가

  8. 8

    파일 내에서 줄을 문자열로 바꾸거나 추가

  9. 9

    파일 내 다양한 길이 문자열의 시작 / 끝에 문자 추가 (Python / * nix)

  10. 10

    작업 내에 lookset ()을 추가 한 후 SSRS 누적 세로 막 대형 차트 범례가 잘못됨

  11. 11

    작업 내에 lookset ()을 추가 한 후 SSRS 누적 세로 막 대형 차트 범례가 잘못됨

  12. 12

    purrr 언어 내에 존재하지 않는 경우 열 추가

  13. 13

    업데이트 문 내부에 If 추가

  14. 14

    문서로드시 Office 추가 기능 작업 창을 열어 둡니다.

  15. 15

    내 연결 문자열에 어떤 문제가 있습니까?

  16. 16

    operator =가 내 사용자 정의 문자열 클래스에서 제대로 작동하지 않습니다.

  17. 17

    HTML에서 현지 언어로 작업

  18. 18

    문자열에 해당 문자가 포함되어 있지 않은데 왜 내 문자열이 배열의 무언가와 일치합니까?

  19. 19

    "0"을 추가합니다. 또는 문자열 내의 일부 숫자 시작 부분에 "0.0"

  20. 20

    내 하드웨어가 14.04 작업에 적합합니까?

  21. 21

    "작업 추가"를 클릭 한 후 작업 아래에 내 텍스트를 표시하려면 어떻게해야합니까?

  22. 22

    면도기 문자열 내부의 문자로 '@'가 작동하지 않음

  23. 23

    Powershell에서 배열 내부의 숫자 문자열로 작업을 수행하려면 어떻게해야합니까?

  24. 24

    PHP 문자열 내부에 가격 기호로 문자열을 래핑

  25. 25

    작은 따옴표로 시작하는 문자열을 Excel 셀에 추가

  26. 26

    UIButton.addTarget이 작업을 나타내는 문자열 뒤에 ":"가 필요한 이유는 무엇입니까?

  27. 27

    System.IO.FileInfo가 WIX 사용자 지정 작업에서 사용될 때 경로에 예기치 않은 문자열을 추가합니다.

  28. 28

    strtok ()는 내 문자열에 문자를 추가합니다.

  29. 29

    문자열 추출 중에 내 코드가 Python Regex에서 작동하지 않는 이유

뜨겁다태그

보관