PAT A 급 1001 A + B Format

오늘부터 PAT 연습 데이터 구조의 기 초 를 닦 겠 습 니 다.원제 링크
이 문제 의 사고 방향 은 매우 분명 하 다.제목 이 숫자 범 위 를 제시 하 더 라 도 int 형식 (32 비트) 이 넘 칠 수 있 도록 자릿수 를 long int (64) 길이 로 확장 합 니 다.
  • 먼저 두 수 를 절대 값 으로 추가 하고 변수 addT 에 값 을 부여 합 니 다.addT = 0 이면 문자열 '0' 을 되 돌려 줍 니 다.
  • while 순환 은 addT 의 마지막 수 (모드 추출) 를 점차적으로 추출 하고 문자열 relust 를 저장 합 니 다.
  • addT 를 10 으로 나 누 어 마지막 숫자 를 버 리 고 자신 에 게 값 을 부여 합 니 다.
  • 카운터 count 는 3 번 마다 쉼표 를 추가 합 니 다.추가 후 0 으로 돌아 가 다시 계산 하기;
  • 순환 을 종료 하고 기호 문 제 를 고려한다.

  • 코드 입력:
    #include
    #include
    using namespace std;
    
    string dealwith(long int x,long int y){
        string relust="";
        long int addT = x + y;
        addT = abs(addT);
        if(addT == 0) return "0";
        int count = 0;
        while(addT>0){
            count++;
            relust = to_string(addT % 10) + relust;
            if(count==3 && addT/10 != 0){
                relust = ',' + relust;
                count = 0;
            }
            addT = addT/10;
        }
        if(x+y < 0 ){
            relust = '-' + relust;
        }
        return relust;
    }
    
    int main(){
        long int x,y;
        cin >> x >> y;
        cout << dealwith(x, y) << endl;
        return 0;
    }
    

    좋은 웹페이지 즐겨찾기