BJ: 分数矩阵
咱们定义如下矩阵:
1/1 1/2 1/3
1/2 1/1 1/2
1/3 1/2 1/1
矩阵对角线上的元素始终是1/1,对角线两边分数的分母一一递增。
申请出这个矩阵的总和。
输出
输出蕴含多组测试数据。每行给定整数N(N<50000),示意矩阵为N*N。当N=0时,输出完结。
输入
输入答案,后果保留2位小数。
样例输出 Copy
1
2
3
4
0
样例输入 Copy
1.00
3.00
5.67
8.83
//#include<iostream>//#include<algorithm>//#include<string>//#include<string.h>//using namespace std;////int main(){// int n = 0;// while(scanf("%d",&n) != EOF){// if( n == 0){// break;// }// double sum = n;// for(int i = 2; i <= n; i++){// sum += 2 * (1.00 / i) * (n - i + 1);// }// printf("%.2f\n",sum);// }// return 0;//}
BK: 计算并集
给你两个汇合,要求{A} + {B}。
注:同一个汇合中不会有两个雷同的元素。
输出
每组输出数据分为三行,第一行有两个数字n,m(0<n,m<=10000),别离示意汇合A和汇合B的元素个数。后两行别离示意汇合A和汇合B。每个元素为不超出int范畴的整数,每个元素之间有一个空格隔开。
输入
针对每组数据输入一行数据,示意合并后的汇合,要求从小到大输入,每个元素之间有一个空格隔开。
样例输出 Copy
1 2
1
2 3
1 2
1
1 2
样例输入 Copy
1 2 3
1 2
//#include<iostream>//#include<algorithm>//#include<string>//#include<string.h>//using namespace std;////int main(){// int m = 0,n = 0,num = 0,i,j;// int a[10000],b[10000],b1[10000],c[20000];// while(scanf("%d %d",&m,&n) != EOF){// for(i = 0; i < m; i++){// scanf("%d",&a[i]);// }// for(i = 0; i < n; i++){// scanf("%d",&b[i]);// b1[i] = 1;// } // for(i = 0; i < m; i++){// for(j = 0; j < n; j++){// if(a[i] == b[j]){ // b1[j] = 0;//给反复的flag一下// }// }// }// num = 0;// for(i = 0; i < m; i++){// c[num++] = a[i];//// }// for(i = 0; i < n; i++){// if(b1[i]){//判断一下是否被标记为0,若为0即不要将他放到c[]数组中 // c[num++] = b[i];// // }// }// sort(c,c + num);//#include<algorithm>头文件蕴含函数// for(i = 0; i < num; i++){// if(i < num - 1){//此处最初一个字符之外的须要输入空格, // printf("%d ",c[i]); // }else{// printf("%d\n",c[i]);//最初一个字符不须要输入空格// } // }// // }// return 0;//}
#### BL: 判断三角形形态
给你三角形的三条边,你能通知我它是哪种三角形吗?
如果是直角三角形,请输入“good”。如果是等腰三角形,请输入“perfect”。否则,请输入“just a triangle”。
题目保障输出数据非法。
输出
输出的第一行为一个整数t,示意测试样例的数量。
每组样例蕴含了三个整数a,b,c,代表了三角形的三条边的长度。(0<a,b,c<300)
输入
对于每组样例,输入后果,每组后果占一行。
样例输出 Copy
4
3 4 5
2 2 3
1 4 4
4 6 3
样例输入 Copy
good
perfect
perfect
just a triangle
//#include<iostream>//#include<algorithm>//#include<string>//#include<string.h>//using namespace std;////int main(){// int n = 0;// scanf("%d",&n);// int a,b,c;// while(n--){// scanf("%d %d %d",&a,&b,&c);// if(a == b || b == c ||a == c || (a == b == c)){// printf("perfect\n");// }else if(a * a + b * b == c * c || c * c + b * b == a * a || c * c + a * a == b * b){// printf("good\n");// }else{// printf("just a triangle\n");// }// }// return 0;//}
BM: 寻找第二小的数
求n个整数中第二小的数。
雷同的整数看成一个数。比方,有5个数别离是1,1,3,4,5,那么第二小的数就是3。
输出
输出蕴含多组测试数据。输出的第一行是一个整数C,示意有C组测试数据;
每组测试数据的第一行是一个整数n,示意本组测试数据有n个整数(2<=n<=10),接着一行是n个整数(每个数均小于100)。
输入
为每组测试数据输入第二小的整数,如果不存在第二小的整数则输入“NO”,每组输入占一行。
样例输出 Copy
3
2
1 2
5
1 1 3 4 5
3
1 1 1
样例输入 Copy
2
3
NO
//#include<iostream>//#include<algorithm>//#include<string>//#include<string.h>//using namespace std;////int main(){// int t = 0;// int a[10000];// scanf("%d",&t);// while(t--){// int n = 0,i;// scanf("%d",&n);// for(int i = 0; i < n; i++){// scanf("%d",&a[i]);// }// sort(a,a + n);// for(i = 0; i < n - 1; i++){// if(a[i] != a[i + 1]){// printf("%d\n",a[i + 1]);// break; // }// }// if(i == n - 1){// printf("NO\n");// }// }// return 0;//}
BN: 验证角谷猜测
数论中有许多猜测尚未解决,其中有一个被称为“角谷猜测”的问题,该问题在五、六十年代的美国多个驰名高校中曾风行一时,这个问题是这样形容的:任何一个大于一的自然数,如果是奇数,则乘以三再加一;如果是偶数,则除以二;得出的后果持续依照后面的规定进行运算,最初必然失去一。当初请你编写一个程序验证他的正确性。
输出
题目蕴含多组测试数据,第一行为测试数据组数N,接着是N行的正整数。
输入
输入验证“角谷猜测”过程中的奇数,最初失去的1不必输入;每个测试题输入一行;每行中只有两个输入之间能力有一个空格;如果没有这样的输入,则输入:No number can be output !。
样例输出 Copy
4
5
9
16
11
样例输入 Copy
5
9 7 11 17 13 5
No number can be output !
11 17 13 5
//#include<iostream>//#include<algorithm>//#include<string>//#include<string.h>//using namespace std;////int main(){// int t = 0;// int a[10000];// scanf("%d",&t);// while(t--){// int n = 0,k = 0;//k值记录失去的奇数的个数 // scanf("%d",&n);// while(n!= 1){// if(n % 2){// a[k++] = n;//含原始的输出值,k每次计算后为奇数则k++ // n = 3 * n + 1;// }else{// n /= 2;// }// }// if(k){//如果k值为0,证实除了原始数据之外,没有经计算后失去的为奇数的后果,则将不会执行if语句 // for(int i = 0; i < k; i++){// if(i == k - 1){// printf("%d\n",a[i]);//最初一个值输入后须要换行 // }else{// printf("%d ",a[i]);//其余值输入须要空一格 // }// }// }else{// 如果k为0(即除了原始数据没有失去奇数),则执行上面的语句,如果k非零if均为真,失常输入 // printf("No number can be output !\n");// } // }// return 0;//}