淘宝关键词怎么选取,嘉兴优化网站价格,免费wordpress模板下载,免费制作ppt文章目录 DAY2杨辉三角查找整数数列特征字母图形(未通过全部样例) DAY2
杨辉三角
【题目描述】 杨辉三角形又称Pascal三角形#xff0c;它的第i1行是(ab)i的展开式的系数。它的一个重要性质是#xff1a;三角形中的每个数字等于它两肩上的数字相加。 下面给出了杨辉三角形的… 文章目录 DAY2杨辉三角查找整数数列特征字母图形(未通过全部样例) DAY2
杨辉三角
【题目描述】 杨辉三角形又称Pascal三角形它的第i1行是(ab)i的展开式的系数。它的一个重要性质是三角形中的每个数字等于它两肩上的数字相加。 下面给出了杨辉三角形的前4行 11 11 2 1
1 3 3 1给出n输出它的前n行。
【输入格式】 输入包含一个数n。
【输出格式】 输入杨辉三角形的前n行。每一行从这一行的第一个数开始依次输出中间使用一个空格分隔。请不要在前面输出多余的空格。
【输入样例】
4【输出样例】
1
1 1
1 2 1
1 3 3 1【数据规模与约定】 1 n 34
【解题思路】 使用二维数组先将每个一维数组的第一个数和最后一个数都设置为1然后根据三角形中的每个数等于它两肩膀数字的和的特性进行计算。
【C程序代码】 方法一使用数组
#includeiostream
#includestringusing namespace std;int main()
{int n;cin n;int arr[34][34] { 0 };for (int i 0; i 34; i){arr[i][0] arr[i][i] 1;}for (int i 2; i 34; i){for (int j 1; j i; j){arr[i][j] arr[i - 1][j - 1] arr[i - 1][j];}}for (int i 0; i n; i){for (int j 0; j i; j){cout arr[i][j] ;}cout endl;}return 0;
}方法二使用vector容器
#includeiostream
#includevector
using namespace std;int main()
{int n;cin n;vectorvectorint vv(n);for (int i 0; i n; i){vv[i].resize(i 1, 1);}for (int i 2; i n; i){for (int j 1; j i; j){vv[i][j] vv[i - 1][j - 1] vv[i - 1][j];}}for (int i 0; i n; i){for (int j 0; j i; j){cout vv[i][j] ;}cout endl;}return 0;
}查找整数
【题目描述】 给出一个包含n个整数的数列问整数a在数列中的第一次出现是第几个。
【输入格式】 第一行包含一个整数n。 第二行包含n个非负整数为给定的数列数列中的每个数都不大于10000。 第三行包含一个整数a为待查找的数。
【输出格式】 如果a在数列中出现了输出它第一次出现的位置(位置从1开始编号)否则输出-1。
【输入样例】
6
1 9 4 8 3 9
9【输出样例】
2【数据规模与约定】 1 n 1000
【解题思路】 将数列的数字逐个输入进容器中然后再逐个进行对比
【C程序代码】
#includeiostream
#includevectorusing namespace std;int main()
{int n;cin n;vectorint v(n);for (int i 0; i n; i){int tmp;cin tmp;v[i] tmp;}int findNum;cin findNum;int i;for (i 0; i n; i){if (v[i] findNum){break;}}if (i n){cout -1;}else{cout i;}cout endl;return 0;
}数列特征
【题目描述】 给出n个数找出这n个数的最大值最小值和。
【输入格式】 第一行为整数n表示数的个数。 第二行有n个数为给定的n个数每个数的绝对值都小于10000。
【输出格式】 输出三行每行一个整数。第一行表示这些数中的最大值第二行表示这些数中的最小值第三行表示这些数的和。
【输入样例】
5
1 3 -2 4 5【输出样例】
5
-2
11【数据规模与约定】 1 n 10000
【解题思路】 题目规定了输入的数字的绝对值都小于-10000所有设最大值和最小值分别为正负10000只要有大于或者小于的就进行替换。
【C程序代码】
#includeiostream
#includevector
using namespace std;int main()
{int n;cin n;vectorint v(n);int sum 0;int max -10000;int min 10000;for (int i 0; i n; i){cin v[i];sum v[i];if (v[i] max){max v[i];}if (v[i] min){min v[i];}}cout max endl;cout min endl;cout sum endl;return 0;
}字母图形(未通过全部样例)
【题目描述】 利用字母可以组成一些美丽的图形下面给出了一个例子 ABCDEFG BABCDEF CBABCDE DCBABCD EDCBABC 这是一个5行7列的图形请找出这个图形的规律并输出一个n行m列的图形。
【输入格式】 输入一行包含两个整数n和m分别表示你要输出的图形的行数的列数。
【输出格式】 输出n行每个m个字符为你的图形。
【输入样例】
5 7【输出样例】
ABCDEFG
BABCDEF
CBABCDE
DCBABCD
EDCBABC【数据规模与约定】 1 n 10000
【解题思路】 用一个容器先输入第一行的所有字符通过观看样例输出我们可以得出结论根据行号的变化每次前n个字符1后m-n个字符1。
【C程序代码】
#includeiostream
#includevectorusing namespace std;int main()
{int n, m;cin n m;vectorchar v(m);for (int i 0; i m; i){v[i] A i;}for (int i 0; i n; i){if (i 0){for (int j 0; j i; j){v[j];}for (int j i; j m; j){v[j]--;}}for (int j 0; j m; j){cout v[j] ;}cout endl;}return 0;
}