题库记录2

发布于:2024-04-15 ⋅ 阅读:(181) ⋅ 点赞:(0)

# 6 质数因子

描述

功能:输入一个正整数,按照从小到大的顺序输出它的所有质因子(重复的也要列举)(如180的质因子为2 2 3 3 5 )

输入描述:

输入一个整数

输出描述:

按照从小到大的顺序输出它的所有质数的因子,以空格隔开。

#include <bits/stdc++.h>
using namespace std;

void recursion(int n) {
    for (int i = 2; i <= sqrt(n); i++) {
        if (n % i == 0) {
            cout << i << " ";
            recursion(n / i);
            return;
        }
    }
    if (n - 1 > 0) cout << n << " ";
}

int main() { 
    int n;
    cin >> n;
    recursion(n);
    return 0;
}

# 7 取近似值

描述

写出一个程序,接受一个正浮点数值,输出该数值的近似整数值。如果小数点后数值大于等于 0.5 ,向上取整;小于 0.5 ,则向下取整。

数据范围:保证输入的数字在 32 位浮点数范围内

输入描述:

输入一个正浮点数值

输出描述:

输出该数值的近似整数值

#include <bits/stdc++.h>
using namespace std;

int main() {
    float n;
    cin >> n;
    cout << int(n + 0.5) << endl;
    return 0;
}

# 8 合并表数值

描述

数据表记录包含表索引index和数值value(int范围的正整数),请对表索引相同的记录进行合并,即将相同索引的数值进行求和运算,输出按照index值升序进行输出。

提示:

0 <= index <= 11111111

1 <= value <= 100000

输入描述:

先输入键值对的个数n(1 <= n <= 500)
接下来n行每行输入成对的index和value值,以空格隔开

输出描述:

输出合并后的键值对(多行)

#include <bits/stdc++.h>
using namespace std;

int main() {
    int n;
    cin >> n;
    vector<int> arr;
    unordered_map<int, int> map;

    while (n-- > 0) {
        int key, val;
        cin >> key >> val;
        if (map.find(key) == map.end()) {
            map[key] = val;
            arr.push_back(key);
        } else {
            map[key] += val;
        }
    }
    sort(arr.begin(), arr.end());
    for (int i = 0; i < arr.size(); i++) {
        cout << arr[i] << " " << map[arr[i]] << endl;
    }
    return 0;
}

#9 提取不重复的数

描述

输入一个 int 型整数,按照从右向左的阅读顺序,返回一个不含重复数字的新的整数。

保证输入的整数最后一位不是 0 。

输入描述:

输入一个int型整数

输出描述:

按照从右向左的阅读顺序,返回一个不含重复数字的新的整数

#include <bits/stdc++.h>
using namespace std;

int main() {
    int n;
    cin >> n;
    string str = to_string(n);
    unordered_set<char> set;
    reverse(str.begin(), str.end());
    string res;
    for (char c : str) {
        if (set.find(c) == set.end()) {
            res += c;
            set.insert(c);
        }
    }
    cout << stoi(res) << endl;
    return 0;
}

 ######

unordered_set 适用于存储不重复的元素,而 unordered_map 适用于存储键值对。


网站公告

今日签到

点亮在社区的每一天
去签到