A+B问题
题目描述
Time Limit: 1000 ms
 Memory Limit: 256 mb
输入A,B
 输出A+B
 -1,000,000,000<=A,B<=1,000,000,000
输入输出格式
输入描述:
输入包含两个整数A,B,用一个空格分隔。
输出描述:
输出一个整数,表示A+B的值。
输入输出样例
输入样例:
5 8
输出样例:
13
题目来源
计算机考研机试入门题
# include<iostream>
using namespace std;
int main(){
    int A =0;
    int B=0;
    cin>>A;
    cin>>B;
    cout<<A+B<<endl;
    return 0;
} 
 
计算Sn
题目描述
Time Limit: 1000 ms
 Memory Limit: 256 mb
求Sn=a+aa+aaa+…+aa…aaa(有n个a)之值,其中a是一个数字。 例如:2+22+222+2222+22222(n=5),
输入输出格式
输入描述:
输入两个数.第一个为a ,第二个为n(表示有多少个数相加),其中a和n都是大于1且小于10的整数.
输出描述:
输出其和.
输入输出样例
输入样例:
2 5
输出样例:
24690
题目来源
北京大学机试题
#include <iostream>
using namespace std;
int main() {
    int a, n;
    cin >> a >> n;
    int result = 0; // 用于保存和的变量
    int current_term = a; // 当前项的值,初始为a
    for (int i = 0; i < n; i++) {
        result += current_term;
        current_term = current_term * 10 + a; // 下一项的值等于当前项乘以10再加上a
    }
    cout << result << endl;
    return 0;
}
 
 
字符串翻转
题目描述
Time Limit: 1000 ms
 Memory Limit: 256 mb
给定一个字符串,反序输出。
输入输出格式
输入描述:
输入一个字符串在单独的一行,字符串长度<100。
输出描述:
将字符串反序输出。
输入输出样例
输入样例:
Guiyang
输出样例:
gnayiuG
题目来源
贵州大学2018机试
#include <iostream>
#include <string>
using namespace std;
int main() {
    string str;
    getline(cin, str);
    // 反序输出字符串
    for (int i = str.length() - 1; i >= 0; i--) {
        cout << str[i];
    }
    cout << endl;
    return 0;
}
 
 
01序列
题目描述
Time Limit: 1000 ms
 Memory Limit: 256 mb
对于长度为6位的一个01串,每一位都可能是0或1,一共有64种可能。它的前几个是:
 000000
 000001
 000010
 000011
 000100
 请按从小到大的顺序输出这64种01串。
输入输出格式
输入描述:
输出描述:
输出64行,每行一个01串。
输入输出样例
输入样例:
输出样例:
题目来源
计算机考研机试入门题
#include <iostream>
using namespace std;
int main() {
    int count = 0; // 用于计数,每10个数换行
    for (int num = 100; num <= 1000; num++) {
        if (num % 5 == 0 && num % 6 == 0) {
            cout << num << " ";
            count++;
            if (count % 10 == 0) {
                cout << endl;
            }
        }
    }
    return 0;
}
 
 
求1到n的和
题目描述
Time Limit: 1000 ms
 Memory Limit: 256 mb
输入一个整数n,请你求出1+2+3+4+....+n的和是多少?
输入输出格式
输入描述:
输入一个整数n
输出描述:
输出1到n的和是多少 n<=100
输入输出样例
输入样例:
5
输出样例:
15
题目来源
北京大学机试题
#include <iostream>
#include <string>
using namespace std;
int main() {
    int n,sum=0;
    cin>>n;
    for(int i=1;i<=n;i++){
        sum+=i;
    }
    cout<<sum;
    return 0;
}
 
 
整除
题目描述
Time Limit: 1000 ms
 Memory Limit: 256 mb
输出100到1000之间能被5和6同时整除的数,输出格式为每10个数为一行。
输入输出格式
输入描述:
无输入
输出描述:
按题目意思输出,相邻两个数之间用空格隔开(注意每一行末尾没有空格)
输入输出样例
输入样例:
输出样例:
(输出题目答案)
题目来源
贵州大学2018机试
#include <iostream>
using namespace std;
int main() {
    int count = 0; // 用于计数,每10个数换行
    for (int num = 100; num <= 1000; num++) {
        if (num % 5 == 0 && num % 6 == 0) {
            cout << num << " ";
            count++;
            if (count % 10 == 0) {
                cout << endl;
            }
        }
    }
    return 0;
}
 
 
排序
题目描述
Time Limit: 1000 ms
 Memory Limit: 256 mb
输入n个数进行排序,要求先按奇偶后按从小到大的顺序排序。
输入输出格式
输入描述:
第一行输入一个整数n,表示总共有多少个数,n<=1000。 第二行输入n个整数,用空格隔开。
输出描述:
输出排序之后的结果。
输入输出样例
输入样例:
8 1 2 3 4 5 6 7 8
输出样例:
1 3 5 7 2 4 6 8
题目来源
兰州大学2018/贵州大学2018年机试
#include <iostream>
#include <algorithm>
using namespace std;
const int N = 1010;
int n, a[N];
int main(){
    // 输入数组长度和每个数的值
    cin >> n;
    for (int i = 0; i < n; ++i) {
        cin >> a[i];
    }
    // 对数组进行排序,sort默认使用升序排序
    sort(a, a + n);
    // 先输出所有奇数
    for (int i = 0; i < n; ++i) {
        if (a[i] % 2 == 1) cout << a[i] << " ";
    }
    // 再输出所有偶数
    for (int i = 0; i < n; ++i) {
        if (a[i] % 2 == 0) cout << a[i] << " ";
    }
    return 0;
}
 
 
字符移动
题目描述
Time Limit: 1000 ms
 Memory Limit: 256 mb
输入一个字符串,将其中的数字字符移动到非数字字符之后,并保持数字字符和非数字字符输入时的顺序。例如:输入字符串“ab4f35gr#a6”,输出为“abfgr#a4356”。
输入输出格式
输入描述:
输入一行字符串,长度小于100。
输出描述:
输出结果。
输入输出样例
输入样例:
ab4f35gr#a6
输出样例:
abfgr#a4356
题目来源
贵州大学机试题
#include <iostream>
#include <string>
using namespace std;
int main() {
    string input;
    getline(cin, input);
    string digits = "";
    string nonDigits = "";
    // 将数字字符和非数字字符分别存储在两个字符串中
    for (char c : input) {
        if (isdigit(c)) {
            digits += c;
        } else {
            nonDigits += c;
        }
    }
    // 拼接非数字字符和数字字符
    string output = nonDigits + digits;
    cout << output << endl;
    return 0;
}
 
 
罗马数字
题目描述
Time Limit: 1000 ms
 Memory Limit: 256 mb

输入输出格式
输入描述:
一行十进制整数
输出描述:
一行字符串,表示对应的罗马数字
输入输出样例
输入样例#:
复制
3
输出样例#:
复制
III
题目来源
华东师范大学2022年机试
#include <iostream>
#include <vector>
using namespace std;
class Test{
public:
    vector<int> rome = {1, 5, 10, 50, 100, 500, 1000};
    vector<int> decimal = {1, 1, 10, 10, 10, 100, 1000};
    vector<string> romeString = {"I", "V", "X", "L", "C", "D", "M"};
    string getRealValue(int num) {
        int i = rome.size() - 1;
        int count = 0;
        string ret = "";
        while (num > 0) {
            count = num / rome[i];
            int countD = num / decimal[i];
            if (count > 0)
                if (countD == 9 || countD == 4) {
                    if (i == 0) i++;
                    ret += romeString[i - 1] + (countD == 4 ? romeString[i] : romeString[i + 1]);
                    num = num - rome[i - 1] * countD;
                } else {
                    for (int j = 0; j < count; j++) {
                        ret += romeString[i];
                    }
                    num = num - rome[i] * count;
                }
            i--;
        }
        return ret;
    }
};
int main() {
    int input=0;
    cin>>input;
    // "III"  "IV"  "IX"  "LVIII" "MCMXCIV"
    Test s1;
    cout << s1.getRealValue(input) << endl;
    return 0;
}
 
 
数字统计
题目描述
Time Limit: 1000 ms
 Memory Limit: 256 mb
请统计某个给定范围[L, R]的所有整数中,数字 2 出现的次数。
 比如给定范围[2, 22],数字 2 在数 2 中出现了 1 次,在数 12 中出现 1 次,在数 20 中出现 1次,
 在数 21 中出现 1次,在数 22 中出现 2 次,所以数字 2 在该范围内一共出现了 6次。
输入输出格式
输入描述:
2个正整数 L 和 R,之间用一个空格隔开。 1≤L≤R≤100000
输出描述:
数字 2 出现的次数。
输入输出样例
输入样例:
2 100 2 22
输出样例:
20 6
题目来源
兰州大学机试题
#include <iostream>
#include <string>
using namespace std;
int main() {
    int L,R=0;
    string str=" ";
    cin>>L>>R;
    int count=0;
    for(int i=L;i<=R;i++){
        for(char c:to_string(i)){
            if(c=='2')
                count+=1;
        }
    }
    cout<<count;
    return 0;
}
 
 
日期
题目描述
Time Limit: 1000 ms
 Memory Limit: 256 mb
今天是2012年4月12日星期四,编写程序,输入今天开始到12月31日之间的任意日期,输出那一天是星期几。例如输入“5(回车)20(回车)”(5月20日),输出应为“Sunday”。
输入输出格式
输入描述:
输入第一行为月份。 输入第二行为这个月的第几天。
输出描述:
输入这一天是星期几。
输入输出样例
输入样例#:
5 20
输出样例#:
Sunday
题目来源
贵州大学机试题
#include <iostream>
#include <string>
using namespace std;
int main(){
    int m,d,sum =0;
    string week[7]={"Monday","Tuesday","Wednesday","Thursday","Friday","Saturday","Sunday"};
    cin>>m>>d;
    for(int i = 4;i<m;i++){
        if((i<=7&&i%2!=0)||(i>7&&i%2==0))
            sum+=31;
        else
            sum+=30;
    }
    sum -=12;
    sum +=d;
    cout<<week[(sum+3)%7];
    return 0;
} 
 
判断素数
题目描述
Time Limit: 1000 ms
 Memory Limit: 256 mb
输入一个整数,判断该整数是否为素数,若是,输出该整数,若否,输出大于该整数的第一个素数。(例如,输入为14,输出17,因为17是大于14的第一个素数)
输入输出格式
输入描述:
输入一个整数n,n最大为10000。
输出描述:
按题意输出。
输入输出样例
输入样例:
14
输出样例:
17
题目来源
贵州大学机试题
#include <iostream>
#include <cmath>
using namespace std;
//遍历 2 到根号 n 的数,判断 n 是否能被它们整除。如果 n 能被任意一个数整除,则 n 不是素数;否则 n 是素数
bool is_prime(int n) {
    if (n <= 1) return false;
    for (int i = 2; i <= sqrt(n); i++) {
        if (n % i == 0) return false;
    }
    return true;
}
int main() {
    int n=0;
    cin>>n;
    if(is_prime(n)) cout << n;
    if(!is_prime(n)){
        int m=n;
        while(!is_prime(m)){
            m+=1;
        }
        cout<<m;
    }
}
                


















