本文主要是介绍吴凡的题库——快快编程1701+,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
- 非常棒
题目描述
请写一个程序,使用一句Very good界面,具体形状请参考下文中的输出样例。
注意:
一共3行,每一行都有一个换行,行之间不能有多余空行;
行末不应该出现多余空格。
输入输出格式
输入格式
无
输出格式
无
输入输出样例
输入样例#1:
无
输出样例#1:
**********
Very good!
**********
输入样例#2:
输出样例#2:
输入样例#3:
输出样例#3:
#include<iostream>
using namespace std;
int main(){
cout<<"**********"<<endl;
cout<<"Very good!"<<endl;
cout<<"**********"<<endl;
return 0;
}
- 美丽的等边三角形
题目描述
请写一个程序,输出一个等边三角形,具体形状请参考下文中的输出样例。
注意:
一共3行,每一行都有一个换行,行之间不能有多余空行。
行末不应该出现多余空格。
第3行开头没有空格。
同一行的*号之间可能需要空格。
输入输出格式
输入格式
无
输出格式
无
输入输出样例
输入样例#1:
无
输出样例#1:
*
* *
* * *
输入样例#2:
无
输出样例#2:
无
输入样例#3:
无
输出样例#3:
无
#include<iostream>
using namespace std;
int main(){
cout<<" *"<<endl;
cout<<" * *"<<endl;
cout<<"* * *"<<endl;
return 0;
}
- 口算王子
题目描述
口算王子就是你,两个数字间的运算对你来说就是小菜一碟。已知一条计算式子,请你回答出计算结果。
输入输出格式
输入格式
输入文件calculation.in 输入一行包含一条算式,包含两个正整数a,b,均不超过10^9。这两个数中间有一个运算符号c,可能是加号+ ,或者减号-,或者乘号*。这一行内没有空格。
输出格式
输出文件calculation.out 输出一个整数。
输入输出样例
输入样例#1:
3+6
输出样例#1:
9
输入样例#2:
6*16
输出样例#2:
96
输入样例#3:
12345*54321
输出样例#3:
670592745
#include<bits/stdc++.h>
using namespace std;
int main(){
freopen("calculation.in", "r", stdin);
freopen("calculation.out", "w", stdout);
long long a, b, ans;
char c;
cin>>a>>c>>b;
if(c == '+')
ans=a+b;
else if (c == '-')
ans=a-b;
else
ans=a*b;
cout<<ans<<endl;
return 0;
}
- 闰年统计
题目描述
给定两个年份a,b ,请统计从a到b的年份里有几个闰年。
注意:统计时包含a,b两年本身在内。
输入输出格式
输入格式
输入文件leapyear.in 输入一行为正整数a,b,1<=a<=b<=9999。
输出格式
输出文件leapyear.out 输出一个整数。
输入输出样例
输入样例#1:
2000 2020
输出样例#1:
6
输入样例#2:
21 23
输出样例#2:
0
输入样例#3:
输出样例#3:
#include<bits/stdc++.h>
using namespace std;
bool isLeap(int y){
return y%400==0||y%4==0&&y%100!=0;
}
int main(){
freopen("leapyear.in", "r", stdin);
freopen("leapyear.out", "w", stdout);
int a,b,cnt;
cin>>a>>b;
for(int i = a;i <= b; i++){
if(isLeap(i))
cnt++;
}
cout<<cnt<<endl;
return 0;
}
- 回文数统计
题目描述
输入n个正整数,判断每个数是否为回文数。
输入输出格式
输入格式
输入文件palindrome.in 输入第一行为正整数n,n<=100。第二行为n个正整数,由空格隔开,均不超过10^18。
输出格式
输出文件palindrome.out 输出一行,共n个结果,每个结果为Yes或No,由空格隔开。
输入输出样例
输入样例#1:
5
2020 12321 567765 1991 2000000
输出样例#1:
No Yes Yes Yes No
输入样例#2:
输出样例#2:
输入样例#3:
输出样例#3:
#include<bits/stdc++.h>
using namespace std;
bool isHW(string s){
int l=0;
int r=s.size()-1;
while(l<r){
if(s[l]!=s[r])
return 0;
l++;
r--;
}
return 1;
}
int main(){
freopen("palindrome.in", "r", stdin);
freopen("palindrome.out", "w", stdout);
int n;
cin>>n;
for(int i = 0; i < n;++i){
string s;
cin>>s;
if(isHW(s))
cout<<"Yes"<<" ";
else
cout<<"No"<<" ";
}
return 0;
}
- 西佳佳偶像天团0
题目描述
西佳佳偶像天团共k人,编号1到k。第i人的颜值为x[i],团内颜值最低者成为团长,若有多人一样丑,就选编号最小的那人。求团长是几号,颜值是多 少。
输入输出格式
输入格式
输入文件idol.in 输入第一行为k,1<=k<=200000。第二行为k个正整数,每个数都不超过100000。
输出格式
输出文件idol.out 输出共2个数字,由空格隔开。
输入输出样例
输入样例#1:
10
4 3 2 1 2 3 4 5 4 6
输出样例#1:
4 1
输入样例#2:
5
7 6 9 7 6
输出样例#2:
2 6
输入样例#3:
输出样例#3:
#include<bits/stdc++.h>
using namespace std;
int main(){
freopen("idol.in", "r", stdin);
freopen("idol.out", "w", stdout);
int n,idols[200001];
cin>>n;
for(int i = 0; i < n; i ++){
cin>>idols[i];
}
cout<<min_element(idols, idols+n) - idols + 1<<" "<<*min_element(idols, idols + n);
return 0;
}
- 长方形面积
题目描述
请计算下面长方形的面积,结果保留2位小数。
长方形的面积计算公式:面积=长*宽
第一行输出第一个长方形的面积:长3,宽2,注意结果要保留2位小数
第二行输出第二个长方形的面积:长4,宽2.6,注意结果要保留2位小数
第三行输出第三个长方形的面积:长5.4,宽5.6,注意结果要保留2位小数
输入输出格式
输入格式
无
输出格式
见题目描述
输入输出样例
输入样例#1:
无
输出样例#1:
无
输入样例#2:
输出样例#2:
输入样例#3:
输出样例#3:
#include<iostream>
#include<iomanip>
using namespace std;
int main(){
cout<<fixed<<setprecision(2)<<3.0 * 2.0<<endl;
cout<<fixed<<setprecision(2)<<4.0 * 2.6<<endl;
cout<<fixed<<setprecision(2)<<5.4 * 5.6<<endl;
return 0;
}
- 最高的山
题目描述
有n座山,编号从1到n,第i座山的高度为hi,请问其中最高的山是哪一座?
输入输出格式
输入格式
第一行一个正整数n,表示山的数量,n<=1000。
第二行n个正整数,中间由空格隔开。山的高度不超过10000。
输出格式
一个正整数,最高的山最早出现的编号。
输入输出样例
输入样例#1:
5
1 2 3 4 6
输出样例#1:
5
输入样例#2:
5
6 4 3 2 1
输出样例#2:
1
输入样例#3:
输出样例#3:
#include<iostream>
using namespace std;
int main(){
int n,high[10005],num;
cin>>n;
for(int i = 0;i < n;i++){
cin>>high[i];
}
num = 0;
for(int i = 0;i < n;i++){
if(high[i] > high[num])
num = i;
}
cout<<num + 1;
return 0;
}
- 口算王
题目描述
口算大王就是你,几个数字间的四则运算对你来说就是小菜一碟。已知一条计算式子,请你回答出计算结果。例如:
3-5=-2
1+2*3=7
8-2*2-1=3
输入输出格式
输入格式
100。
【数据规模】
10%数据, 全部数字都是1位数
10%数据, 恰有1个运算符号
10%数据, 恰有2个运算符号
100%数据, 最多有8个运算符号。
输出格式
输出文件calculator.out 输出一个整数,代表计算结果。
输入输出样例
输入样例#1:
3-5
输出样例#1:
-2
输入样例#2:
10-2*2-1
输出样例#2:
5
输入样例#3:
无
输出样例#3:
无
#include<bits/stdc++.h>
using namespace std;
stack<int> num;
stack<char> op;
void solve(){
while(!op.empty()){
char z=op.top();
op.pop();
int y=num.top();
num.pop();
int x=num.top();
num.pop();
if(z=='+')x+=y;
else x-=y;
num.push(x);
}
}
int main(){
freopen("calculator.in","r",stdin);
freopen("calculator.out","w",stdout);
int a,b;
char c;
cin>>a;
num.push(a);
while(cin>>c>>b){
if(c=='*'){
a=num.top();
num.pop();
a*=b;
num.push(a);
}
else{
solve();
op.push(c);
num.push(b);
}
}
solve();
cout<<num.top()<<endl;
return 0;
}
- train-螺旋矩阵(同150,271)
- train-排座椅(同504)
- 高手集训
题目描述
太戈编程团队聚集了本市众多的编程高手。你作为总教练,要为高手们安排集训计划。课程表里有连续的n天可以供你选择,每天都有专 题课程。其中第i天的专题趣味程度为h[i]。假设你选择了其中连续的若干天,从第l天到第r天。那么,
训练效果 = h[l]*1 + h[l+1]*2 + ... + h[r]*(r-l+1)
随着训练的深入进行,每天的趣味程度会得到更多倍数的效果。
目前有m种训练方案,每种方案由起始时间和结束时间来描述。请对每种方案输出训练效果。
输入输出格式
输入格式
输入文件training.in
输入第一行为正整数n和m, 均不超过100000。第二行为n个正整数代表每天专题的趣味程度,均不超过100000。随后共m行,每行为两个正整数l,r, 保证1<=l<=r<=n。
输出格式
输出文件training.out
输出一行共m个整数,由空格隔开。
输入输出样例
输入样例#1:
3 2
5 6 7
1 3
2 3
输出样例#1:
38 20
【说明】5*1+6*2+7*3=38;6*1+7*2=20。
输入样例#2:
无
输出样例#2:
无
输入样例#3:
无
输出样例#3:
无
#include<bits/stdc++.h>
#define N 100003
#define int long long
using namespace std;
int h[N],s[N],g[N],n,m,l,r;
void input(){
cin>>n>>m;
for(int i=1;i<=n;i++)cin>>h[i];
}
void solveBF(){
for(int i=1;i<=m;i++){
cin>>l>>r;
int ans=0;
for(int j=l;j<=r;j++)ans+=h[j]*(j-l+1);
cout<<ans<<" ";
}
}
void solve(){
for(int i=1;i<=n;i++)s[i]=s[i-1]+h[i];
for(int i=1;i<=n;i++)g[i]=g[i-1]+h[i]*i;
for(int i=1;i<=m;i++){
cin>>l>>r;
cout<<g[r]-g[l-1]-(s[r]-s[l-1])*(l-1)<<" ";
}
}
signed main(){
freopen("training.in","r",stdin);
freopen("training.out","w",stdout);
input();
if(n<=1000&&m<=1000)solveBF();
else solve();
return 0;
}
这篇关于吴凡的题库——快快编程1701+的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!