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;
}
}