欢迎您访问 最编程 本站为您分享编程语言代码,编程技术文章!
您现在的位置是: 首页

吴凡题库 - 快速编程 251-300

最编程 2024-03-10 14:03:26
...
  1. 收入支出查询
题目描述
小明他以每天为单位把每一天的总收入或支出都记录下来,共n天,正数代表收入,负数代表支出。有一天他老婆突然对他进行查账,提出共m个查询问 题,每个问题都是关心某两天之间(从第i天开始到第j天结束)的存款变了多少
输入输出格式
输入格式
输入第一行为n和m(1<=n,m<=10000),第二行为n个整数代表当天的收入或支出,第三行为2*m个正整数,每两个数代表一次查询的起始日期和结束日期
输出格式
输出一行共m个数,代表每一个查询结果。数字由空格隔开。
输入输出样例
输入样例#1:
5 2
100 -200 60 10 -10
1 3 4 5
输出样例#1:
-40 0
输入样例#2:
无
输出样例#2:
无
输入样例#3:
无
输出样例#3:
无
#include<iostream>
using namespace std;
int main(){
	int n,m,d[10009],t;
	cin>>n>>m;
	for(int i=1;i<=n;i++) cin>>d[i];
	for(int i=1;i<=m;i++){
		int x,y;
		cin>>x>>y;
		t=0;
		for(int j=x;j<=y;j++) t+=d[j];
		cout<<t<<" ";
	}
	return 0;
}
  1. 金币
题目描述
国王将金币作为工资,发放给忠诚的骑士。第一天,骑士收到一枚金币;之后两天(第二天和第三天),每天收到两枚金币;之后三天(第四、五、六 天),每天收到三枚金币;之后四天(第七、八、九、十天),每天收到四枚金币……;这种工资发放模式会一直这样延续下去:当连续N天每天收到N枚 金币后,骑士会在之后的连续N+1天里,每天收到N+1枚金币。 请计算在前K天里,骑士一共获得了多少金币。K<=10000
输入输出格式
输入格式
输入只有1行,包含一个正整数K,表示发放金币的天数。
输出格式
输出只有1行,包含一个正整数,即骑士收到的金币数。
输入输出样例
输入样例#1:
6
输出样例#1:
14
输入样例#2:

输出样例#2:

输入样例#3:

输出样例#3:

#include<bits/stdc++.h>
using namespace std;
int main(){
	int k;
	int sum=0;
	int n=1;
	int cnt=0;
	cin>>k;
	for(int i=1;i<=k;i++){
		sum+=n;
		cnt++;
		if(cnt==n){
			cnt=0;
			n++;
		}
	}
	cout<<sum;
	return 0;
} 
  1. 螺旋矩阵(同150)

  2. 进制转换

题目描述
将一个十进制数X(1≤X≤10^9)转换成任意进制数M(2≤M≤16)。当进制超过10后,依次以字符A,B,…,F表示数位上的数字。
输入输出格式
输入格式
输入一行两个正整数X和M。
输出格式
输出X的M进制的表示。
输入输出样例
输入样例#1:
31 16
输出样例#1:
1F
输入样例#2:
7 2
输出样例#2:
111
输入样例#3:

输出样例#3:

#include<iostream>
#include<string>
using namespace std;
int main(){
    int top=0,m, n;
    int s[10001];
    cin>>n>>m;
    do{
        s[++top]=n%m;
        n=n/m;
    }while(n>0);
    for(int i=top;i>=1;i--)
        if(s[i]>=10)  cout<<char('A'+s[i]-10);
        else cout<<s[i];
	return 0;
}
  1. 素数对
题目描述
两个相差为2的素数称为素数对,如5和7是素数对,9和7不是素数对,2和5不是素数对。输入2个正整数,判断它们是不是素数对,如果是,输出Yes,否则输出No。
输入输出格式
输入格式
输入文件pair.in 输入一行包含2个正整数,以空格分开,均不超过1000000。
输出格式
输出文件pair.out 输出Yes或者No,代表是否是素数对。
输入输出样例
输入样例#1:
19 17
输出样例#1:
Yes
输入样例#2:
2 5
输出样例#2:
No
输入样例#3:
3 1
输出样例#3:
No
#include<bits/stdc++.h>
using namespace std;
bool isPrime(int x){
	if(x<=1)return 0;
	for(int i = 2;i * i <= x; i ++){
		if(x%i==0)return 0;
	}
	return 1;
}
int main(){
	freopen("pair.in", "r", stdin);
	freopen("pair.out", "w", stdout);
	int a, b;
	cin>>a>>b;
	if((abs(a-b)==2)&&isPrime(a)&&isPrime(b))
	    cout<<"Yes";
	else
	    cout<<"No";
	return 0;
}
  1. 三数求和
题目描述
请写一个程序,输入3个整数a,b,c,用空格分开,输出这3个数的和。
输入输出格式
输入格式
输入的一行共三个整数。保证输入的数不会超过1000000000请不用担心。
输出格式
输出一个整数,代表这三个数的总和
输入输出样例
输入样例#1:
2 4 6
输出样例#1:
12
输入样例#2:
1 2 3
输出样例#2:
6
输入样例#3:
1 1 1
输出样例#3:
3
#include<iostream>
using namespace std;
int a,b,c;
int main(){
	cin>>a>>b>>c;
	cout<<a + b + c;
	return 0;
}

原文地址:https://www.cnblogs.com/WindowsRegedit/p/16125089.html