
作业
Unlimited q
又菜又爱刷题
展开
-
C++N位质数(欧拉筛)
第五次实验 - 副本编程题7. N位质数【问题描述】给定一个整数N(2 <= N <= 8),生成所有的具有下列特性的特殊的N位质数,即其前任意位都是质数。例如,7331即是这样一个4位的质数,因为7、73和733也都是质数。【输入形式】输入一个整数N(2 <= N <= 8)。【输出形式】输出有若干行,每行有一个整数,该整数有N位,而且其前任意位都是质数。并且:1.要求输出所有符合题意的质数。2.从小到大按顺序输出,且所有行上的数字不得重复。【样例输入】2【样例输原创 2020-12-15 18:27:13 · 2209 阅读 · 3 评论 -
C++高精度减法
超长正整数的减法【问题描述】编写程序实现两个超长正整数(每个最长80位数字)的减法运算。【输入形式】从键盘读入两个整数,要考虑输入高位可能为0的情况(如00083)。第一行是超长正整数A;第二行是超长正整数B;【输出形式】输出只有一行,是长整数A减去长整数B的运算结果,从高到低依次输出各位数字。要求:若结果为0,则只输出一个0;否则输出的结果的最高位不能为0,并且各位数字紧密输出。【输入样例】234098134098703578230056【输出样例】-1340987035.原创 2020-12-15 00:51:59 · 745 阅读 · 0 评论 -
最长上升子序列(DP)
第五次实验 - 副本编程题2. 最长升序子串(选做,不计分)【问题描述】输入一行字符串,该字符串只由小写英文字母a-z组成,且其中的字符可以重复,最长不超过10000个字符。从该字符串中按顺序挑选出若干字符(不一定相邻)组成一个新串,称为“子串”。如果子串中每两个相邻的字符或者相等,或者后一个比前一个大,则称为“升序子串”。编程求出输入字符串的最长升序子串的长度。例如,由输入字符串abdbch可以构成的升序子串有:abd、abch、bbch、abbch等。其中最长的升序子串是abbch,其长度为5原创 2020-12-14 23:08:41 · 419 阅读 · 0 评论 -
数组实现多项式相乘
多项式相乘【问题描述】编写一个程序实现两个一元多项式相乘。【输入形式】首先输入第一个多项式中系数不为0的项的系数和指数,以一个空格分隔。且该多项式中各项的系数均为0或正整数,系数和最高幂次不会超过int类型的表示范围。对于多项式 anxn +a n-1 x n-1 + … + a1x1 + a0x0 的输入方法如下:an n a n-1 n-1 … a1 1 a0 0即相邻两个整数分别表示表达式中一项的系数和指数。在输入中只出现系数不为0的项。最后一项的指数后没有空格,只有一个.原创 2020-12-11 20:25:30 · 1380 阅读 · 2 评论 -
C++冒泡排序巧解循环移位
循环移位【问题描述】输入整数n,生成一个一维数组,并对该数组进行循环移位输出。【输入形式】输入一个整数,范围1-9【输出形式】输出一个矩阵。矩阵中同一行中的数据与数据之间只有一个空格【样例输入】5【样例输出】0 1 2 3 44 0 1 2 33 4 0 1 22 3 4 0 11 2 3 4 0#include<bits/stdc++.h>using namespace std;void print(int a[],int n){ for(int i=0.原创 2020-12-05 01:50:35 · 777 阅读 · 0 评论 -
C++12. 魔方阵
魔方阵【问题描述】输入一个自然数N(1<=N<=9),要求输出如下的魔方阵,即边长为2*N-1,N在中心出现一次,其余位置上的数字从外向中心逐渐增大。N=3时:1111112221123211222111111N=4时:1111111122222112333211234321123332112222211111111【输入形式】从标准输入读取一个整数N。【输出形式】向标准输出打印结果。输出符合要求的方阵,每个数字占一个字符宽度,在每一行末均输出一个回车符。【.原创 2020-12-05 01:47:52 · 2457 阅读 · 10 评论 -
C++13. 最长公共子串
最长公共子串【问题描述】编写一个程序,对输入的字符串s和t,求其最长的公共子字符串。【输入形式】从屏幕分行读入串s和t。s和t由任意字符构成,长度都不超50个字符。输入数据确保只有唯一的最长公共子串。如果没有公共子串,打印No Answer【输出形式】在单独行上输出串s和串t的最长公共子串,在结尾输出一个回车符。算法提示:用一个int型的计数器记录当前匹配长度,用一个字符数组记录当前匹配子串,如果存在更长子串,则进行相应替换。【样例说明】假设从屏幕输入以下内容:aabcdababce.原创 2020-12-04 21:29:06 · 1150 阅读 · 0 评论 -
C++15. 求两组整数集的“或”集
求两组整数集的“或”集(cexam3b.c)【问题描述】从标准输入中输入两组整数(每行不超过20个整数,每组整数中元素不重复),合并两组整数,每个整数只出现一次(重复整数只保留一个),并从小到大排序输出(即两组整数集“或”)。【输入形式】首先输入第一组整数的个数,再输入第一组整数,整数间以空格分隔;然后输入第二组整数的个数,再输入第二组整数,整数间以空格分隔。【输出形式】按从小到大顺序排序输出合并后的整数,并不含重复整数。【样例输入】85 1 4 3 8 7 9 645 2 8 10【样.原创 2020-12-04 21:23:33 · 2403 阅读 · 2 评论 -
C++消除游戏
消除游戏【问题描述】消除类游戏是深受大众欢迎的一种游戏,游戏在一个包含有n行m列的游戏棋盘上进行,棋盘的每一行每一列的方格上放着一个有颜色的棋子,当一行或一列上有连续三个或更多的相同颜色的棋子时,这些棋子都被消除。当有多处可以被消除时,这些地方的棋子将同时被消除。现在给定一个n行m列的棋盘,棋盘中的每一个方格上有一个棋子(用数字1-9表示各种颜色的棋子),请给出经过消除后的棋盘。请注意:一个棋子可能在某一行和某一列同时被消除。【输入形式】从标准输入读取数据,第一行包含两个整数n和m,分别表示.原创 2020-12-03 18:36:20 · 1047 阅读 · 0 评论 -
2. C++求两组整数的异或集
求两组整数的异或集【问题描述】从标准输入中输入两组整数(每行不超过20个整数,每组整数中元素不重复),合并两组整数,去掉在两组整数中都出现的整数,并按从大到小顺序排序输出(即两组整数集"异或")。【输入形式】首先输入第一组整数,以一个空格分隔各个整数;然后在新的一行上输入第二组整数,以一个空格分隔,行末有回车换行。【输出形式】按从大到小顺序排序输出合并后的整数集(去掉在两组整数中都出现的整数,以一个空格分隔各个整数)。【样例输入】5 1 4 32 8 7 9 -65 2 87 10 1.原创 2020-12-02 21:27:38 · 3953 阅读 · 3 评论 -
.C++整数的N进制字符串表示
. 整数的N进制字符串表示【问题描述】编写函数itob(n,s,b),用于把整数n转换成以b为基的字符串并存储到s中. 编写程序,使用函数itob(n,s,b)将输入的整数n,转换成字符串s,将s输出.转换后的字符串从最高的非零位开始输出。如果n为负数,则输出的字符串的第一个字符为’-’。b为大于1小于37的任意自然数值。当b=2时,输出字符只可能是’0’和’1’;当b=16时,输出字符串中可能含有字符为’0’-’9’,’a’-’f’(字母以小写输出)。b还可以是其它数值。比如输入n=33,b=17,原创 2020-12-01 01:24:09 · 877 阅读 · 0 评论 -
C++合并有序数组
合并有序数组【问题描述】编写一个程序,将两个元素从小到大有序的一维数组归并成一个有序的一维数组。【输入形式】用户在第一行输入第一个有序数组的元素数目,以回车结束此输入。然后在第二行按照刚才输入的元素数目依次输入数组元素,中间用空格分隔,最后用回车结束输入。第三行和第四行只需重复刚才的步骤,将第二个有序数组也输入即可。输入时候一定是有序输入的,即数组元素已经按照从小到大顺序排列。【输出形式】程序将两个有序一维数组合并为一个有序数组并按照从小到大顺序输出。每个元素输出时用空格分隔,最后一个输出之后没有空格原创 2020-12-01 01:19:18 · 4137 阅读 · 4 评论