Java教程

吴凡的题库——快快编程301-500

本文主要是介绍吴凡的题库——快快编程301-500,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
  1. 等腰三角形
题目描述
请写一个程序,输入是一个正整数n,输出一个高度为n行的由星号*组成的等腰三角形。
输入输出格式
输入格式
输入文件tri.in 输出一个正整数,不超过1000。
输出格式
输出文件tri.out  输出一个等腰三角形图形,共n层。注意行首和行末不可以有空格。
输入输出样例
输入样例#1:
5
输出样例#1:
    *
   ***
  *****
 *******
*********
输入样例#2:

输出样例#2:

输入样例#3:

输出样例#3:

#include<bits/stdc++.h>
using namespace std;
int main(){
	freopen("tri.in", "r", stdin);
	freopen("tri.out", "w", stdout);
	int n;
	cin>>n;
	for(int i = 1; i <= n;i ++){
		for(int j = 0;j < n-i; j ++){
			cout<<" ";
		}
		for(int j = 1; j <= 2*i-1; j ++){
			cout<<"*";
		}
		cout<<endl;
	}
	return 0;
}
  1. 足球爱好者
题目描述
MIKE爱好踢足球,他的梦想是代表中国队参加世界杯,所以他在放学路上经常练习踢易拉罐。在一条直线上,MIKE位置在0,共有n个易拉罐,位置在x1,x2,x3,…,xn,可能有重复,可能有负数。目标在位置m,MIKE每踢一脚,易拉罐向正方向滚10。他往正方向走,遇到每个易拉罐都踢一次,请问踢多少次才会有易拉罐的位置超过目标位置或等于目标位置。
输入输出格式
输入格式
输入第一行是正整数n和m,1<=n<=100,1<=m<=1000。第二行有n个整数,绝对值不超过10000,保证有至少一个正数。
输出格式
输出一个正整数。
输入输出样例
输入样例#1:
2 22
1 2
输出样例#1:
4
输入样例#2:
无
输出样例#2:
无
输入样例#3:
无
输出样例#3:
无
#include<bits/stdc++.h>
using namespace std;
int n,m,ans=1;
int main(){
	scanf("%d%d",&n,&m);
	for(int i=1;i<=n;i++){
		int x;scanf("%d",&x);
		if(x>=m){printf("0");return 0;}
		if(x>=0)ans+=(m-1-x)/10;
	}
	printf("%d",ans);
	return 0;
}
  1. 耳听八方
题目描述
小明能耳听八方。给定一个5*5的棋盘,'*'表示他在棋盘中的位置,请问他能听到的格子是哪些,请在一个棋盘上标记'#'表示他能听到 的格子。
输入输出格式
输入格式
输入文件ear.in 输入5行5列的字符,没有空格。
输出格式
输出文件ear.out 输出5行5列的字符,没有空格。
输入输出样例
输入样例#1:
00000
00000
00*00
00000
00000

输出样例#1:
00000
0###0
0#*#0
0###0
00000

输入样例#2:

输出样例#2:

输入样例#3:

输出样例#3:

#include<bits/stdc++.h>
using namespace std;
char a[7][7];
int main(){
	freopen("ear.in", "r", stdin);
	freopen("ear.out", "w", stdout);
	for(int i = 1; i <= 5; i ++)
	    for(int j = 1;j <= 5; j ++)
	        cin>>a[i][j];
	for(int i = 1; i <=5; i ++)
	    for(int j = 1; j <= 5; j ++)
	        if(a[i][j]=='*'){
	        	if(i-1>=1)    a[i-1][j]='#';
	        	if(i+1<=5)    a[i+1][j]='#';
	        	if(j-1>=1)    a[i][j-1]='#';
	        	if(j+1<=5)    a[i][j+1]='#';
	        	if(j-1>=1 && i-1>=1)    a[i-1][j-1]='#';
	        	if(j+1<=5 && i+1<=5)    a[i+1][j+1]='#';
	        	if(j-1>=1 && i+1<=5)    a[i+1][j-1]='#';
	        	if(j+1<=5 && i-1>=1)    a[i-1][j+1]='#';
			}
	for(int i = 1; i<=5; i ++){
	    for(int j = 1; j <=5; j ++)
	        cout<<a[i][j];
	    cout<<endl;
	}
	return 0;
}
  1. 测智商
题目描述
期末考试结束了,全班n个同学的成绩都已经公布,考试满分为100分,老师推测IQ的公式很简单,就是考试分数+30。他想知道班上有多 少同学的IQ在105以上(包括105)。
输入输出格式
输入格式
第一行一个整数n,表示n个学生,n<=10000
第二行n个整数,表示成绩

输出格式
一个整数,多少人IQ不低于105
输入输出样例
输入样例#1:
5
80 90 75 60 85
输出样例#1:
4
解释说明:5个人的IQ分别为110 120 105 90 115,其中达到105共4人。
输入样例#2:
2
70 74

输出样例#2:
0
输入样例#3:
无
输出样例#3:
无
#include<iostream>
using namespace std;
int main(){
	long long n,IQ[10005],cnt;
	cin>>n;
	for(int i = 0;i<n;i++){
		cin>>IQ[i];
	}
    cnt = 0;
	for(int i = 0;i<n;i++){
		if((IQ[i] + 30) >= 105){
			cnt += 1;
		}
	}
	cout<<cnt;
	return 0;
}
  1. 最大得票差
题目描述
校园10大歌手投票结束,每位选手的得票数量统计完毕。如果得票最高歌手的票数为A,得票最少的歌手票数为B,请求出A减B有多大。说明:每位选手的编号为1到10。
输入输出格式
输入格式
输入共2行,第1行一个整数n,表示共有投票共n张
第2行,n个整数,表示每张投票上的选手编号。n不超过200000
输出格式
输出1行,一个整数,第一名和最后一名相差的票数
输入输出样例
输入样例#1:
5
1 1 1 2 3
说明:5表示5张投票,其中3票都给1号选手,1票给2号选手,1票给3号选手,其他选手没有得票,最大得票差3-0=3
输出样例#1:
3
输入样例#2:
2
3 4
输出样例#2:
1
输入样例#3:
无
输出样例#3:
无
#include<bits/stdc++.h>
#define N 13
using namespace std;
int tmp,cnt[N];
int main(){
	int n;cin>>n;
	for(int i=1;i<=n;i++)cin>>tmp,cnt[tmp]++;
	int mx=*max_element(cnt+1,cnt+11);
	int mn=*min_element(cnt+1,cnt+11);
  	cout<<mx-mn<<endl;
	return 0;
} 
  1. 身高查询
题目描述
有n个人从矮到高排列,已知每个人的身高。对于给定的两个高度a,b(a小于b),需要求四个数字:
1.      身高大于等于a并且小于等于b的人有几个
2.      身高大于a并且小于b的人有几个
3.      身高大于等于a并且小于b的人有几个
4.      身高大于a并且小于等于b的人有几个
输入输出格式
输入格式
输入文件height.in 输入第一行为正整数n,第二行为从小到大排列的n个浮点数(最多两位小数),第三行为浮点数a和b(最多两位小数)。n<=10000,所有高度<=3.00。
输出格式
输出文件height.out 输出一行,共四个整数。
输入输出样例
输入样例#1:
3
1.20 1.99 1.99
1.20 1.99
输出样例#1:
3 0 1 2
输入样例#2:
无
输出样例#2:
无
输入样例#3:
无
输出样例#3:
无
#include<bits/stdc++.h>
using namespace std;
int main(){
	freopen("height.in", "r", stdin);
	freopen("height.out", "w", stdout);
	int n;
	double x[100009], a, b;
	cin>>n;
	for(int i=0;i<n;i++)cin>>x[i];
	cin>>a>>b;
	cout<<upper_bound(x, x+n, b)-lower_bound(x, x+n, a)<<" ";
	cout<<lower_bound(x, x+n, b)-upper_bound(x, x+n, a)<<" ";
	cout<<lower_bound(x, x+n, b)-lower_bound(x, x+n, a)<<" ";
	cout<<upper_bound(x, x+n, b)-upper_bound(x, x+n, a);
	return 0;
}
  1. 狙击装备
题目描述
你希望成为一名狙击手(sniper),你需要的基本装备包括一把狙击枪和一把手枪。你的预算共m元,目前共有a种狙击枪可以选择,第i把售价xi元;共有b种手枪可以选择,第j把售价yj元。请计算在你的预算范围内,有多少种可以考虑的组合?
输入输出格式
输入格式
输入文件 sniper.in 输入第一行为正整数m,a,b,第二行为a个正整数代表狙击枪价格,第三行为b个正整数代表手枪价格。m<=300000 ,a<=50000,b<=50000。
输出格式
输出文件 sniper.out 输出一个整数。
输入输出样例
输入样例#1:
100000 2 3
97000 90000
5000 10000 3000
输出样例#1:
4
样例说明:9万的狙击枪可以配3种手枪,9万7的狙击枪只可以搭配1种手枪。共4种
输入样例#2:
无
输出样例#2:
无
输入样例#3:
无
输出样例#3:
无
#include<bits/stdc++.h>
using namespace std;
int main(){
	freopen("sniper.in", "r", stdin);
	freopen("sniper.out", "w", stdout);
	int m, a, b, x[100001], y[100001];
	cin>>m>>a>>b;
	for(int i=0;i<a;i++)cin>>x[i];
	for(int i=0;i<b;i++)cin>>y[i];
	sort(y, y+b);
	int cnt=0;
	for(int i=0;i<a;i++){
		int r=m-x[i];
		cnt+=upper_bound(y, y+b, r)-y;
	}
	cout<<cnt<<endl;
	return 0;
}
  1. 特殊的三次方程
题目描述
对于一元三次方程: x^3+x^2+x=a, 它的形式很特殊,我们可以证明它的解只有一个。
输入输出格式
输入格式
输入整数a,|a|<=100
输出格式
输出它的唯一解,保留三位小数。
输入输出样例
输入样例#1:
1
输出样例#1:
0.544
输入样例#2:

输出样例#2:

输入样例#3:

输出样例#3:

#include<bits/stdc++.h>
using namespace std;
int main(){
	double a,ans,MIN=1000;
	cin>>a;
	for(double x=-10;x<=10;x+=0.001) {
		double d=fabs(x*x*x+x*x+x-a);
		if(d<MIN) MIN=d, ans=x;
	}
	cout<<fixed<<setprecision(3)<<ans<<endl;
	return 0;
} 
  1. 高智商罪犯一
题目描述
共n个罪犯排成一排,第i个人智商为xi,现在需要将他们依次分组押运,每一组只可以安排相邻的若干个罪犯。为防止高智商罪犯联合逃脱,必须保证 每一组的智商总和不超过m,求最少要分几组?如果无法完成要求输出0。
输入输出格式
输入格式
输入文件criminal.in
输入第一行为正整数n和m,第二行为n个正整数xi。n<=100,m<=1000,xi<=500
输出格式
输出文件criminal.out
输出一个整数。
输入输出样例
输入样例#1:
5 300
250 150 60 100 90
输出样例#1:
3
输入样例#2:
无
输出样例#2:
无
输入样例#3:
无
输出样例#3:
无
#include<bits/stdc++.h>
using namespace std;
int main(){
	freopen("criminal.in", "r", stdin);
	freopen("criminal.out", "w", stdout);
	int n, a, w[500];
	cin>>n>>a;
	for(int i=0;i<n;i++)cin>>w[i];
	for(int i=0;i<n;i++)
	    if(w[i]>a){
	    	cout<<0<<endl;
	    	return 0;
		}
	int ans=1,sum=0;
	for(int i=0;i<n;i++){
		sum+=w[i];
		if(sum>a){
			ans++;
			sum=w[i];
		}
	}
	cout<<ans;
	return 0;
}
  1. 成绩
题目描述
牛牛最近学习了 C++入门课程,这门课程的总成绩计算方法是: 总成绩 = 作业成绩 × 20% + 小测成绩 × 30% + 期末考试成绩 × 50%  牛牛想知道,这门课程自己最终能得到多少分。
输入输出格式
输入格式
 1 行,包含三个非负整数A、B、C,分别表示牛牛的作业成绩、小测成绩和期末考试成绩,A,B,C均是10的整数倍。相邻两个数之间用一 个空格隔开,三项成绩满分都是 100 分。
输出格式
 1 行,包含一个整数,即牛牛这门课程的总成绩,满分也是 100 分。
输入输出样例
输入样例#1:
100 100 80
输出样例#1:
90
输入样例#2:
60 90 80
输出样例#2:
79
输入样例#3:

输出样例#3:

#include<iostream>
using namespace std;
int a,b,c,result;
int main(){
	cin>>a>>b>>c;
	result = a * 0.2 + b * 0.3 + c * 0.5;
	cout<<result;
	return 0;
}
  1. 点石成金
题目描述
能够点石成金是你的特异功能。在5*5的图像里,你可以选择点一下其中任意一格:第x行第y列。此时和这个格子相同符号并且连通的格子(上下左右四个方向连通)都会变成金色,用G表示。
输入输出格式
输入格式
输入文件gold.in
输入5行5列共25个字符表示目前的图像,之后输入x和y,1<=x,y<=5。
输出格式
输出文件gold.out
输出5行5列共25个字符表示目前的图像表示点石成金的效果。
输入输出样例
输入样例#1:
@@@+@
@+++@
@@@+@
@+@+@
@@@+@
3 3
输出样例#1:
GGG+@
G+++@
GGG+@
G+G+@
GGG+@
输入样例#2:
GGGGG
GGGGG
GGGGG
GGGGG
GGGGG
1 1
输出样例#2:
GGGGG
GGGGG
GGGGG
GGGGG
GGGGG
输入样例#3:
无
输出样例#3:
无
#include<bits/stdc++.h>
using namespace std;
int dx[4]={0,1,0,-1},dy[4]={1,0,-1,0};
char ch,d[6][6];
int a,b,n=5;
void dfs(int x,int y){
	d[x][y]='G';
	for(int k=0;k<4;k++){
		int nx=x+dx[k],ny=y+dy[k];
		if(nx>=1&&nx<=n&&ny>=1&&ny<=n&&d[nx][ny]==ch)
		    dfs(nx,ny);
	}
}
int main(){
    freopen("gold.in", "r", stdin);
    freopen("gold.out", "w", stdout);
	for(int i=1;i<=n;i++)
	    for(int j=1;j<=n;j++)
	        cin>>d[i][j];
	cin>>a>>b;
	ch=d[a][b];
	if(ch!='G') dfs(a,b);
	for(int i=1;i<=n;i++){
	    for(int j=1;j<=n;j++)
	        cout<<d[i][j];
		cout<<endl;
	}
    return 0;
}
  1. 数水坑
题目描述
清明时节雨纷纷,路上都是大水坑。已知一张地面的俯视图照片,请计算机智能识别出有几块独立的水坑。照片用n*m个像素的点阵组成,‘.’代表干区 ,‘@’代表有水。如果两个‘@’是(八个方向)相邻的,那么他们属于同一个水坑。
输入输出格式
输入格式
输入文件puddle.in
输入第一行为正整数n和m,n,m<=100。接着是n*m的字符矩阵。
输出格式
输出文件puddle.out
输出一个整数。
输入输出样例
输入样例#1:
10 12
@........@@.
.@@@.....@@@
....@@...@@.
.........@@.
.........@..
..@......@..
.@.@.....@@.
@.@.@.....@.
.@.@......@.
..@.......@.
输出样例#1:
3
输入样例#2:
无
输出样例#2:
无
输入样例#3:
无
输出样例#3:
无
#include<bits/stdc++.h>
using namespace std;
const int N=109; 
int dx[8]={1,1,1,0,0,-1,-1,-1},dy[8]={1,0,-1,1,-1,1,0,-1};
char d[N][N];
int n,m;
bool vst[N][N];
void dfs(int x,int y){
	vst[x][y]=1;
	for(int k=0;k<8;k++){
		int nx=x+dx[k],ny=y+dy[k];
		if(nx>=1&&nx<=n&&ny>=1&&ny<=m&&d[nx][ny]=='@'&&!vst[nx][ny])
		    dfs(nx,ny);
	}
}
int main(){
    freopen("puddle.in", "r", stdin);
    freopen("puddle.out", "w", stdout);
	cin>>n>>m;
	for(int i=1;i<=n;i++)
	    for(int j=1;j<=m;j++)
	        cin>>d[i][j];
	int ans=0;
	for(int i=1;i<=n;i++)
	    for(int j=1;j<=m;j++)
	        if(d[i][j]=='@'&&!vst[i][j]){
	        	ans++;
	        	dfs(i,j);
			}
	cout<<ans;
    return 0;
}
  1. 骰子识别
题目描述
玩桌游时你的运气总是很差,你怀疑骰子可能有问题。为了探究一个骰子投出的数字是不是在{1,2,3,4,5,6}里均匀分布,你造了个机器人不停地投骰子。当然你的机器人也有“视觉”,也就是一个“骰子识别”程序,自动识别投出的是几。其中最重要的任务就是对于一张骰子单面的照片(10*10像素),判断这一面是几。照片里会有白色用‘.’表示,一些上下左右联通的‘#’字符属于骰子里的同一个计数点。注意:如果一个单独像素点的‘#’上下左右都没有其他‘#’相邻时,不能够被识别为计数点,应该被理解为灰尘/噪点。照片里有几个独立的计数点就代表是骰子投的是数字几。
输入输出格式
输入格式
输入文件dice.in
输入为10*10的字符矩阵。
输出格式
输出文件dice.out
输出一个整数。
输入输出样例
输入样例#1:
.#....#...
###.#.#...
.#..###...
........#.
.##..##...
##...##...
#.........
.###.##...
.##..###..
..#......#
输出样例#1:
6
输入样例#2:
无
输出样例#2:
无
输入样例#3:
无
输出样例#3:
无
#include<bits/stdc++.h>
using namespace std;
const int N=19; 
int dx[4]={0,1,0,-1};
int dy[4]={1,0,-1,0};
char d[N][N];
int area;
bool vst[N][N];
void dfs(int x,int y){
	area++;
	vst[x][y]=1;
	for(int k=0;k<4;k++){
		int nx=x+dx[k],ny=y+dy[k];
		if(nx>=1&&nx<=10&&ny>=1&&ny<=10&&d[nx][ny]=='#'&&!vst[nx][ny])
		    dfs(nx,ny);
	}
}
int main(){
    freopen("dice.in", "r", stdin);
    freopen("dice.out", "w", stdout);
	for(int i=1;i<=10;i++)
	    for(int j=1;j<=10;j++)
	        cin>>d[i][j];
	int ans=0;
	for(int i=1;i<=10;i++)
	    for(int j=1;j<=10;j++)
	        if(d[i][j]=='#'&&!vst[i][j]){
	        	area=0;
	        	dfs(i,j);
	        	if(area>1)ans++;
			}
	cout<<ans;
    return 0;
}
  1. 时间复杂度
题目描述
小明正在学习一种新的编程语言 A++,刚学会循环语句的他激动地写了好多程序并 给出了他自己算出的时间复杂度,可他的编程老师实 在不想一个一个检查小明的程序, 于是你的机会来啦!下面请你编写程序来判断小明对他的每个程序给出的时间复杂度是 否正确。
A++语言的循环结构如下:
F i x y
    循环体
E
其中“F i x y”表示新建变量 (i变量 i 不可与未被销毁的变量重名)并初始化为 x,然后判断 i 和 y 的大小关系,若 i 小于等于 y 则进入循环,否则不进入。每次循环结束 后 i 都会被修改成 i +1,一旦 i 大于 y 终止循环。
x 和 y 可以是正整数(x 和 y 的大小关系不定)或变量 n。n 是一个表示数据规模的 变量,在时间复杂度计算中需保留该变量而不能 将其视为常数,该数远大于 100。
“E”表示循环体结束。循环体结束时,这个循环体新建的变量也被销毁。 注:本题中为了书写方便,在描述复杂度时,使用大写英文字母“O”表示通常意义下“Θ”的概念。
输入输出格式
输入格式
输入第一行一个正整数 t,表示有 t(t ≤ 10)个程序需要计算时间复杂度。 每个程序我们只需抽取其中 “F i x y”和“E”即可计算时间复杂度。注意:循环结构允许嵌套。
接下来每个程序的第一行包含一个正整数 L 和一个字符串,L 代表程序行数,字符串表示这个程序的复杂度,“O(1)”表示常数复杂度,“O(n^w)”表示复杂度为nw,其 中 w是一个小于 100 的正整数(输入中不包含引号),输入保证复杂度只有 O(1)和 O(n^w)
两种类型。
接下来 L 行代表程序中循环结构中的“F i x y”或者 “E”。 程序行若以“F”开头,表示进入一个循环,之后有空格分离的三个字符(串)i x y,其中 i 是一个小写字母(保证不为“n”),表示新建的变量名,x 和 y 可能是正整数或n ,已知若为正整数则一定小于 100。  程序行若以“E”开头,则表示循环体结束。
输出格式
输出共 t 行,对应输入的 t 个程序,每行输出“Yes”或“No”或者“ERR”(输 出中不包含引号),若程序实际复杂度与输入给出的复杂度 一致则输出“Yes”,不一致 则输出“No”,若程序有语法错误(其中语法错误只有: ① F 和 E 不匹配 ②新建的变 量与已经存在但未被销毁的变量重复两种情况),则输出“ERR”。
注意:即使在程序不会执行的循环体中出现了语法错误也会编译错误, 要输出 “ERR”。
输入输出样例
输入样例#1:
8
2 O(1)
F i 1 1 E
2 O(n^1)
F x 1 n E
1 O(1)
F x 1 n 4 O(n^2)
F x 5 n F y 10 n E
E
4 O(n^2)
F x 9 n E
F y 2 n E
4 O(n^1)
F x 9 n F y n 4 E
E
4 O(1)
F y n 4 F x 9 n E
E
4 O(n^2)
F x 1 n F x 1 10 E
E
输出样例#1:
Yes
Yes
ERR
Yes
No
Yes
Yes
ERR
输入样例#2:
无
输出样例#2:
无
输入样例#3:
无
输出样例#3:
无
#include<bits/stdc++.h>
#define ll long long
#define rint register int
using namespace std;
stack<int> zhan;
int main(){
    int t;scanf("%d",&t);
    while(t--){
        int n;scanf("%d",&n);
    	int nowline=0,pos=0;
    	int Fcnt=0,Ecnt=0,cnt=0;
        int hisans=0,myans=0;
        int runflag=-1;
    	bool endflag=false;
        string tmp;cin>>tmp;
        string sublist="0";
        for(rint i=0;i<tmp.length();++i)
            if(tmp[i]>='0'&&tmp[i]<='9'){
                hisans+=tmp[i]-'0';
                hisans*=10;
            }
        hisans/=10;
        if(tmp[2]=='1') hisans=0;
        for(rint i=1;i<=n;++i){
            string sub,opt,tmpsta,tmpend;
            int sta=0,end=0;
            cin>>opt;
            if(opt=="F"){
            	++Fcnt;++pos;
                zhan.push(pos);
                cin>>sub>>tmpsta>>tmpend;
                if(tmpend[0]=='n'&& (!(tmpsta[0]=='n'&&tmpend[0]=='n'))) ++cnt;
                for(rint j=0;j<tmpsta.length();++j){
                    sta+=tmpsta[j]-'0';
                    sta*=10;
                }
                sta/=10;
                if(tmpend[0]!='n'){//如果end是数字 
                    for(rint i=0;i<tmpend.length();++i){
                        end+=tmpend[i]-'0';
                        end*=10;
                    }
                    end/=10;
                    if(sta>end)//如果循环不能执行 
                        runflag=pos;
                }
                if(runflag==-1||pos<runflag) myans=max(myans,cnt);
                sublist+=sub;
                if(sublist.find(sub)!=sublist.length()-1){
                	printf("ERR\n");cnt=0;nowline=i;endflag=true;break;
                }
                sta=0;end=0;
            }
            else if(opt=="E"){
            	--cnt;++Ecnt;
                if(zhan.empty()&&!endflag){
            		printf("ERR\n");cnt=0;nowline=i;endflag=true;break;
                }
                if(zhan.top()<=runflag){
                	pos=0;
                	runflag=-1;
                }
                if(!zhan.empty()) zhan.pop();
                if(sublist.length()>0) sublist=sublist.substr(0,sublist.length()-1);
            	if(zhan.empty()) cnt=0;
            }
        }
        if(endflag){
        	cnt=0;
        	while(!zhan.empty())
        		zhan.pop();
        		string cnm;
        	for(rint i=1;i<=n-nowline+1;++i) getline(cin,cnm);
        	continue;
        }
        if(Fcnt!=Ecnt){
        	if(!endflag) printf("ERR\n");
        	while(!zhan.empty()) zhan.pop();
        	cnt=0;
        	continue;
        }
        while(!zhan.empty()) zhan.pop(); 
        if(!endflag){
        	if(myans==hisans) printf("Yes\n");
        	else printf("No\n");
        }
        myans=hisans=0;
    }
    return 0;
}
  1. 珠心算测验
题目描述
珠心算是一种通过在脑中模拟算盘变化来完成快速运算的一种计算技术。珠心算训练,既能够开发智力,又能够为日常生活带来很多便利,因而在很多学校得到普及。 某学校的珠心算老师采用一种快速考察珠心算加法能力的测验方法。他随机生成一个正整数集合,集合中 的数各不相同,然后要求学生回答:其中有多少个数,恰好等于集合中另外两个(不同的)数之和? 最近老师出了一些测验题,请你帮 忙求出答案。
输入输出格式
输入格式
输入文件quiz.in 输入共两行,第一行包含一个整数n,表示测试题中给出的正整数个数。第二行有n个正整数,每两个正整数之间用一个空格隔开,表示测试题中给出的正整数。
说明: 3 ≤ n ≤ 100,测验题给出的正整数大小不超过10000。
输出格式
输出文件quiz.out 输出共一行,包含一个整数,表示测验题答案。
输入输出样例
输入样例#1:
4
1 2 3 4
输出样例#1:
2
输入样例#2:
5
1 9 3 7 10
输出样例#2:
1
输入样例#3:

输出样例#3:

这篇关于吴凡的题库——快快编程301-500的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!