网易第一题:相反数

本题考察的是基本编程和对数的处理

#include <iostream>
#include <vector>
#include <math.h>
#include <algorithm>

using namespace std;

vector<int> splitByteNumber(int numeber) {
    vector<int> result;
    while (numeber > 0) {
        int byteNumber = numeber % 10;
        result.push_back(byteNumber);
        numeber /= 10;
    }
    return result;
}

int combineByteNumber(vector<int> A) {
    int result = 0;
    long length = A.size() - 1;
    for (int i = 0; i < A.size(); i++, length--) {
        result += A[i] * pow(10, length);
    }
    return result;
}

int main(int argc, const char * argv[]) {

    int n;
    cin >> n;
    vector<int> splitVector = splitByteNumber(n);
    vector<int> combinationVector;
    long j = splitVector.size() - 1;
    for (int i = 0; i < splitVector.size(); i++, j--) {
        int temp = splitVector[i] + splitVector[j];
        combinationVector.push_back(temp);
    }

    cout << combineByteNumber(combinationVector) << endl;

    return 0;
}
全部评论

相关推荐

点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务