吴凡题库 - 快速编程 251-300
最编程
2024-03-10 14:03:26
...
- 收入支出查询
题目描述
小明他以每天为单位把每一天的总收入或支出都记录下来,共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;
}
- 金币
题目描述
国王将金币作为工资,发放给忠诚的骑士。第一天,骑士收到一枚金币;之后两天(第二天和第三天),每天收到两枚金币;之后三天(第四、五、六 天),每天收到三枚金币;之后四天(第七、八、九、十天),每天收到四枚金币……;这种工资发放模式会一直这样延续下去:当连续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;
}
-
螺旋矩阵(同150)
-
进制转换
题目描述
将一个十进制数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;
}
- 素数对
题目描述
两个相差为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;
}
- 三数求和
题目描述
请写一个程序,输入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
上一篇: 基因、蛋白质等的命名