模拟
根据题目描述写代码
Greylan
练习用。
展开
-
A1009
Product of Polynomials(25分)单词:the product ofAandB:A和B的乘积总结:a[1001]:第一个多项式。无需存第二个多项式,可边输入边得出结果。 m[2001]:结果。x^1000 *x^1000 =x^2000,相乘指数可达2000,数组开到2001。 格式:double类型输入%lf,输出%f。格式控制%.1f,保留一位小数。代码 :#include<cstdio>int main(){ double ...原创 2020-07-05 21:36:17 · 334 阅读 · 0 评论 -
A1002
A+B for Polynomials(25分)单词:polynomials:多项式 coefficient:系数 exponent:指数 nonzero term:非零项 be accurate to 1 decimal place:精确到一位小数 decimal:小数;十进制的总结:设立数组m,长度为指数e最大值+1,下标与指数一一对应,存储对应的系数。 ...原创 2020-07-05 20:37:30 · 132 阅读 · 0 评论 -
B1010
一元多项式求导(25分)总结:特例:如1 0:只有常数项,结果输出 0 0。因为指数递减,在第一个if进行判断即可。 非特例:常数项导数为0,不输出。 while(scanf("%d %d", &c, &n) != EOF ) 或者while (cin >> a >> b)控制,输入结束时终止。代码:#include<cstdio>//指数都为正 int main(){ int c, n; scanf("%d %...原创 2020-07-05 17:07:07 · 158 阅读 · 0 评论 -
A1065
1065A+B and C (64bit)(20分)总结:A和B范围:[-2^63, 2^63],暂不考虑取到2^63,可使用long long型存储,范围为[-2^63, 2^63-1]。 [-2^63, 2^63-1]内两个数加法会产生溢出:A>0,B<0 或 A<0,B>0时,A、B异号,不会溢出。 A>0,B>0时,可能正溢出,sum范围[2, 2^64-2],其中[2^63, 2^64-2]部分溢出,实际结果为[2^63-2^64, 2^64...原创 2020-07-05 16:25:38 · 177 阅读 · 0 评论 -
A1046
Shortest Distance(20分)总结:代码:#include<cstdio>const int MAXN = 100001;const int MAXM = 10001;int d[MAXN] ,dis[MAXN] ;int fin[MAXM];int min(int a, int b){ if(a>b) return b; else return a; }int main(){ int n; scanf("%d", &..原创 2020-07-05 15:43:42 · 95 阅读 · 0 评论 -
A1042
Shuffling Machine(20分)单词:shuffling:洗牌 position:位置 the number at thei-th position isj, it means to move the card from positionito positionj: 第i个位置上是j,表示移动第i个位置上的数字→第j个位置。(即order[ i ] = j, 那么end[ j ]=start[ i ])。总结:利用char数组控制输出,char m...原创 2020-07-04 18:12:29 · 2191 阅读 · 0 评论 -
B1018
锤子剪刀布(20分)总结:涉及char的读入遇到换行,注意getchar();吃掉换行。 或者改为scanf("\n%c %c", &a,&b); 吃掉多余换行符。代码:#include<cstdio>int main(){ int n; scanf("%d", &n); int wa, ta, la, wb, tb, lb; wa = ta = la = wb = tb = lb = 0; int wina[3]={0}, winb..原创 2020-07-04 16:53:10 · 98 阅读 · 0 评论 -
B1012
数字分类(20分)总结:用数组存放五类数字的结果(a[5])和个数(count[5] 判断是否存在(=0))。 输出结尾无空格。代码:#include<stdio.h>int main(){ int n; scanf("%d", &n); int i; int a[5]={0}, count[5]={0}; int max=0; for(i=0; i<n; i++){ int temp; scanf("%d", &temp); .原创 2020-07-04 16:37:21 · 102 阅读 · 0 评论 -
B1008
数组元素循环右移问题(20分)总结:注意右移m位,相当于原数组没有移动,所以对m进行处理,m = m%n。代码:#include<cstdio>int main(){ int n,m; scanf("%d%d", &n,&m); int a[100]; int i; for(i=0; i<n; i++){ scanf("%d", &a[i]); } m = m%n; //m值修正 if(m==0){ print.原创 2020-07-04 16:30:01 · 99 阅读 · 0 评论 -
B1046
划拳(15分)总结:注意判断条件,同输同赢不计。代码:#include<cstdio>int main(){ int n; scanf("%d", &n); int i; int ca=0, cb=0, a1,a2, b1,b2; for(i=0; i<n; i++){ scanf("%d%d%d%d", &a1, &a2, &b1, &b2); if( a2 == a1+b1){ //甲猜中 if.原创 2020-07-03 22:29:35 · 89 阅读 · 0 评论 -
B1026
程序运行时间(15分)总结:四舍五入判定:①round函数 (直接,但涉及数据类型转化,麻烦) ②根据题意,(c2-c1)/100四舍五入即余数满50进一,不满50舍去,令time= ((c2-c1) + 50) / 100即可。代码:#include<cstdio>#include<cmath>const int CLK_TCK = 100;int main(){ int c1, c2; scan...原创 2020-07-03 22:23:03 · 104 阅读 · 0 评论 -
B1016
总结:10^10超过了int范围(10^9),使用long long类型。 Or 使用string类型,判断da和a[i]相等条件:当da == ( a[i]- ‘0’ )。(‘1’- ‘0’=1:字符型‘1’→整型数字1。)代码:#include<cstdio>int main(){ long long a, da, b, db; scanf("%lld%lld%lld%lld", &a, &da, &b, &db); long lon.原创 2020-07-03 22:00:19 · 100 阅读 · 0 评论 -
B1011
A+B 和 C(15分)总结:int型数据范围[-2^31,2^31-1]。(4字节,32位,10^9之内) long long型数据范围[-2^63,2^63-1]。(8字节,64位,10^18之内) 本题超出int范围,使用long long型(%lld)。代码:#include<cstdio>int main(){ int t; scanf("%d", &t); int i; for(i=0; i<t;i++){ long long ..原创 2020-07-03 21:32:27 · 90 阅读 · 0 评论 -
B1032
挖掘机技术哪家强(20分)总结:按照题目要求, 定义最大参赛人数MAXN, 直接分配出长度MAXN的数组空间。 使用动态数组vector,必须有头文件#include<vector>和using namespace std;。代码:#include<cstdio>#include<vector>using namespace std;//const int MAXN = 100001;int main(){ int n; sca...原创 2020-07-02 21:53:37 · 97 阅读 · 0 评论 -
B1001
害死人不偿命的(3n+1)猜想 (15分)`n%2!=0`代表是奇数,if的判断条件里`!=0`可省略。代码:#include<cstdio>int main(){ int count = 0, n; scanf("%d", &n); while(n!=1){ if(n%2) n = (3*n+1)/2; else n /= 2; count++; } printf("%d", count); return 0;}...原创 2020-07-02 20:57:09 · 822 阅读 · 1 评论