第一题:
问题 D: 字符串反转
题目描述
小C很喜欢倒着写单词,现在给你一行小C写的文本,你能把每个单词都反转并输出它们吗?
输入
输入包含多组测试样例。第一行为一个整数T,代表测试样例的数量,后面跟着T个测试样例。
每个测试样例占一行,包含多个单词。一行最多有1000个字符。
输出
对于每一个测试样例,你应该输出转换后的文本。
样例输入
3
olleh !dlrow
I ekil .bulcmca
I evol .mca
样例输出
hello world!
I like acmclub.
I love acm.

第二题
问题 G: 丑数
题目描述
如果一个数的素因子只包含2,3,5或7,那么我们把这种数叫做丑数。序列1,2,3,4,5,6,7,8,9,10,12,14,15,16,18,20,21,24,25,27…展示了前20个丑数。
请你编程寻找这个序列中的第n个元素。
输入
输入包含多组测试数据。每组输入为一个整数n(1<=n<=5842),当n=0时,输入结束。
输出
对于每组输入,输出一行“The nth humble number is number.”。里面的n由输入中的n值替换,“st”,“nd”,“rd”和“th”这些序数结尾的用法参照输出样例。
样例输入
1
2
3
4
11
12
13
21
22
23
100
1000
5842
0
样例输出
The 1st humble number is 1.
The 2nd humble number is 2.
The 3rd humble number is 3.
The 4th humble number is 4.
The 11th humble number is 12.
The 12th humble number is 14.
The 13th humble number is 15.
The 21st humble number is 28.
The 22nd humble number is 30.
The 23rd humble number is 32.
The 100th humble number is 450.
The 1000th humble number is 385875.
The 5842nd humble number is 2000000000.

第三题
问题 E: 相对分子质量
题目描述
小明最近迷上了化学,几乎天天在实验室做实验,但是很多实验生成的化学产物的相对分子质量令他很困惑,不知如何计算,请你编程帮他计算。
输入
输入的第一行是一个正整数n,表示有n组测试数据。
接下来n行每行输入一个字符串,表示某个分子式,分子式中只包含大写字母和数字。
注意:
输入数据只包含8种元素,而这8种元素的相对原子质量如下:
H(1),C(12),N(14),O(16),F(19),P(31),S(32),K(39)。
输出
对于每组输入,输出相对分子质量。
样例输入
4
H2O
KOH
CH4
SO2
样例输出
18
56
16
64

第四题
问题H:最伟大的LCM
题目描述
老师给了你一个正整数N,并让他从1到N中选择任意三个数字,
这可能是他们最低公倍数的最大数。
提示: 常见倍数 是一个数字,它是两个或更多数字的倍数。3和4的公倍数是 0,12,24 … 两个数的最小公倍数(LCM)是两者的倍数的最小数(非零)。
输入
请输入 正整数N.
输出
输出一个整数,表示您找到的最小公倍数。
样例输入
9
2
样例输出
504
2
提示
1 <= N <= 10 6。

第五题
问题 B: 高等数学
题目描述
yy正在学高数呢, 他听说: “从前有一棵树, 叫高树, 上面挂了很多人…”, yy偏偏不信这个邪
他看到了一个很酷的题目, 他想让你给他说说答案是多少

ps: 上限分别是100, 50, 10
输入

输出
题目描述中算式的值,并保留4位小数。
请注意行尾输出换行。

第六题
问题 C: 比较数组
题目描述
yy发现在编程语言中, 只有变量之间可以比大小, 数组却不可以, 他决心编写一个比较数组大小的算法!
两个数组a和b,各有10个元素,将它们对应的逐个比较(即a[0]与b[0]比,a[1]与b[1]比,余此类推)。如果a数组中的元素大于b数组中的相应元素的数目多于b数组中元素大于a数组中相应元素的数目(例如a[i]>b[i]6次,而b[i]>a[i]3次),则判定a数组大于b数组。
请写一个程序判断a数组和b数组的大小关系,并统计出两个数组对应元素大于、等于、小于的次数。
输入
有两行,每一行有10个用空格隔开的整数,表示a数组和b数组。
输出
首先在第一行内输出a数组中元素与b数组中对应元素的大于、等于、小于的次数,用空格隔开。
若a数组大于b数组,则在第二行中输出“a>b”;若a数组小于b数组,则输出“a<b”;若两个数组相等,则输出“a=b”。
请注意不需要输出引号,并请注意行尾输出换行。
样例输入
1 3 5 7 9 8 6 4 2 0
5 3 8 9 -1 -3 5 6 0 4
样例输出
4 1 5
a<b
第七题
题目描述
不知道你听没听说过这样一个脑筋急转弯。
2元可以买一瓶汽水(玻璃瓶装的),因为瓶身是玻璃瓶的比较贵,所以两个瓶身可以换一瓶汽水。你现在有4元钱,问最多能喝到多少瓶汽水?
答案是4瓶。一开始先用4元钱买两瓶汽水喝掉,再用这两瓶的汽水的瓶身换一瓶喝到,最后还剩一个瓶身,这个时候再朝小卖部的老板借一个瓶身。换一瓶汽水喝掉之后再还给他一个瓶身。
现在问题来了,一开始你有n元钱,然后你最多可以向老板借一个瓶身(注意要还的),问你最多能喝到多少瓶汽水?
输入描述:
第一行是一个正整数T(T<=100)表示有T组案例。
对于每组案例,输入一个正整数(1<=n<=10^100)。
(请注意输入数据的范围,n有10的100次方那么大)
输出描述:
对于每组案例,输出一行一个正整数表示最多能够喝到的汽水数目
示例1
输入
3
1
2
1000000000000000000000000000000
输出
0
2
1000000000000000000000000000000
说明
1块钱不能购买汽水,所以共喝到0瓶
2块钱先买一瓶汽水,喝完以后再借一个空瓶,换一瓶,喝掉以后还给老板。所以一共可以喝到2瓶。
备注:
请选用合理的数据类型。
int 型的最大值为2147483647。
long long 型的最大值为9223372036854775807。
float的有效数位为6位。
double的有效数位为12位。
所以本题无法使用以上数据类型处理。

第八题/

题目描述
小w与tokitsukaze一起玩3ds上的小游戏,现在他们遇到了难关。
他们得到了一个数列,通关要求为这个数列的和为0,并且只有一次改变一个数的符号的机会(正数变成负数,负数变成正数)。
请问小w与tokitsukaze能否通关,如果能,请输出有多少个数符合要求,如果不能,请输出-1。
输入描述:
第一行包括一个正整数n(1≤n≤10^5),表示这个数列有n个数。
接下来一行有n个数x (-100≤x≤100),表示数列(数列的和保证不等于0)。
输出描述:
输出有多少个符合要求的数,如果没有,请输出-1。
示例1
输入
5
1 3 -5 3 4
输出
2
说明
只要把一个3变成-3,数列的和就变为0。数列里总共有两个3,所以有2个符合要求的数。
示例2
输入
4
1 2 4 8
输出
-1

第九题
母牛的故事
题目描述
有一头母牛,它每年年初生一头小母牛。每头小母牛从第四个年头开始,每年年初也生一头小母牛。请编程实现在第n年的时候,共有多少头母牛?
输入
输入数据由多个测试实例组成,每个测试实例占一行,包括一个整数n(0<n<55),n的含义如题目中描述。
n=0表示输入数据的结束,不做处理。
输出
对于每个测试实例,输出在第n年的时候母牛的数量。
每个输出占一行。
样例输入
2
4
5
0
样例输出
2
4
6

第十题
题目描述
观察数字:12321,123321 都有一个共同的特征,无论从左到右读还是从右向左读,都是相同的。这样的数字叫做:回文数字。

本题要求你找到一些5位或6位的十进制回文数字。满足如下要求:
该数字的各个数位之和等于输入的整数。
输入
一个正整数 n (10< n< 100), 表示要求满足的数位和。
输出
若干行,每行包含一个满足要求的5位或6位整数。
数字按从小到大的顺序排列。
如果没有满足条件的,输出:-1
样例输入
44
样例输出
99899
499994
589985
598895
679976
688886
697796
769967
778877
787787
796697
859958
868868
877778
886688
895598
949949
958859
967769
976679
985589
994499

第十一题

质数中的质数(质数筛法)

如果一个质数,在质数列表中的编号也是质数,那么就称之为质数中的质数。例如:3 5分别是排第2和第3的质数,所以他们是质数中的质数。现在给出一个数N,求>=N的最小的质数中的质数是多少(可以考虑用质数筛法来做)。
收起
输入
输入一个数N(N <= 10^6)
输出
输出>=N的最小的质数中的质数。
输入样例
20
输出样例
31

第一题
#include"stdio.h"
#include"string.h"
#define max 1000
int main()
{
int i,n,j,k,m,x;
char str[max]={0};
while(scanf("%d",&n)!=EOF)
{
getchar();
for(i=0;i<n;i++)
{
gets(str);
x=strlen(str);
m=-1;
for(j=0;j<=x;j++)
{
if(str[j]’ '||str[j]’\0’)
{
for(k=j-1;k>m;k–)
printf("%c",str[k]);
if(str[j]!=’\0’)
printf(" “);
m=j;
}
}
printf(”\n");
}
}
return 0;
}
第二题
#include"stdio.h"
int NB(int a,int b,int c,int d);
int main()
{
int a,b,c,d,w[10000];
int n,i;
w[1]=a=b=c=d=1;
for(i=2;i<10000;i++)
{
w[i]=NB(a2,b3,c5,d7);
if(w[i]a2)
a++;
if(w[i]==b
3)
b++;
if(w[i]c5)
c++;
if(w[i]==d
7)
d++;
}
while(scanf("%d",&n))
{
if(n0)
break;
if(n%101&&n%100!=11)
{
printf(“The %dst humble number is %d.\n”,n,w[n]);
}
else if(n%102&&n%100!=12)
{
printf(“The %dnd humble number is %d.\n”,n,w[n]);
}
else if(n%103&&n%100!=13)
{
printf(“The %drd humble number is %d.\n”,n,w[n]);
}
else
{
printf(“The %dth humble number is %d.\n”,n,w[n]);
}
}
return 0;
}
int NB(int a,int b,int c,int d)
{
if(a>b)
a=b;
if(a>c)
a=c;
if(a>d)
a=d;
return a;
}
第三题
#include<stdio.h>
int main()
{
int n,i,x=0;
int tent=0;
char a[10][10];
scanf("%d",&n);
getchar();
for(i=0;i<n;i++)
{
gets(a[i]);
}
for(i=0;i<n;i++)
{
x=tent=0;
while(a[i][x]!=’\0’)
{
if(a[i][x]‘H’)
{
if(a[i][x+1]>=‘1’&&a[i][x+1]<=‘9’)
{
tent+=(a[i][x+1]-48);//48对应0
}
else
{
tent++;
}
x++;
}
else if(a[i][x]‘C’)
{
if(a[i][x+1]>=‘1’&&a[i][x+1]<=‘9’)
{
tent+=(12*(a[i][x+1]-48));
}
else
{
tent+=12;
}
x++;
}
else if(a[i][x]‘N’)
{
if(a[i][x+1]>=‘1’&&a[i][x+1]<=‘9’)
{
tent+=14*(a[i][x+1]-48);
}
else
{
tent+=14;
}
x++;
}
else if(a[i][x]‘O’)
{
if(a[i][x+1]>=‘1’&&a[i][x+1]<=‘9’)
{
tent+=16*(a[i][x+1]-48);
}
else
{
tent+=16;
}
x++;
}
else if(a[i][x]‘F’)
{
if(a[i][x+1]>=‘1’&&a[i][x+1]<=‘9’)
{
tent+=19*(a[i][x+1]-48);
}
else
{
tent+=19;
}
x++;
}
else if(a[i][x]‘P’)
{
if(a[i][x+1]>=‘1’&&a[i][x+1]<=‘9’)
{
tent+=31*(a[i][x+1]-48);
}
else
{
tent+=31;
}
x++;
}
else if(a[i][x]‘S’)
{
if(a[i][x+1]>=‘1’&&a[i][x+1]<=‘9’)
{
tent+=32*(a[i][x+1]-48);
}
else
{
tent+=32;
}
x++;
}
else if(a[i][x]‘K’)
{
if(a[i][x+1]>‘1’&&a[i][x+1]<=‘9’)
{
tent+=39*(a[i][x+1]-48);
}
else
{
tent+=39;
}
x++;
}
else
{
tent=tent+0;
x++;
}
}
printf("%d\n",tent);
}
return 0;
}
第四题
#include"stdio.h"
int main()
{
int n;
scanf("%d",&n);
if(n>=3)
{
if(n%2!=0)
{
printf("%d\n",n*(n-1)(n-2));
return 0;
}
else
printf("%d\n",n
(n-1)(n-3));
}
if(n<=2)
{
printf(“n\n”);
return 0;
}
}
第五题
#include"stdio.h"
int main()
{
int i,a,b;
float c=0;
a=b=0;
for(i=1;i<=100;i++)
{
a+=i;
}
for(i=1;i<=60;i++)
{
b+=i
i;
}
for(i=1;i<=10;i++)
{
c+=1.0/float(i);
}
printf("%.4f\n",float(a+b+c));
return 0;
}
第六题
#include"stdio.h"
int main()
{
int x,y,z,i;
x=y=z=0;
int a[10],b[10];
for(i=0;i<10;i++)
{
scanf("%d",&a[i]);
}
for(i=0;i<10;i++)
{
scanf("%d",&b[i]);
}
for(i=0;i<10;i++)
{
if(a[i]>b[i])
x++;
if(a[i]b[i])
y++;
if(a[i]<b[i])
z++;
}
printf("%d %d %d\n",x,y,z);
if(x>z)
printf(“a>b\n”);
else
printf(“a<b\n”);
return 0;
}
第七题
#include<stdio.h>
#include<string.h>
int main()
{
unsigned int n;
int i,j;
char q,a[1000];
scanf("%d", &n);
for (i=0;i<n;j++)
{
scanf("%s",a);
q=strlen(a);
j=a[q-1];
if(j%21)
a[q-1]=a[q-1]-1;
printf("%s\n",a);
}
return 0;
}
第八题
#include"stdio.h"
int main()
{
int a[10];
int n,i,j,count,t;
count=t=0;
scanf("%d",&n);
for(i=0;i<n;i++)
{
scanf("%d",&a[i]);
}
for(i=0;i<n;i++)
{
a[i]=-1a[i];
for(j=0;j<n;j++)
{
if(i=j)
t+=-1
a[j];
else
t+=a[j];
}
if(t0)
count++;
}
if(count0)
count=-1;
printf("%d",count);
return 0;
}
第九题
#include"stdio.h"
int main()
{
int i,count=0;
int a[100],b[10];
for(i=0;;i++)
{
scanf("%d",&b[i]);
if(b[i]0)
break;
else
count++;
}
a[1]=1;
a[2]=2;
a[3]=3;
a[4]=4;
for(i=5;i<100;i++)
{
a[i]=a[i-1]+a[i-3];
}
for(i=0;i<count;i++)
{
printf("%d\n",a[b[i]]);
}
return 0;
}
第十题
#include<stdio.h>
int main()
{
int n,i,j;
int a,b,c,d,e,f;
scanf("%d",&n);
for (i=10000;i<=99999;i++)
{
a=i/10000;
b=i%10000/1000;
c=i%1000/100;
d=i%100/10;
e=i%10;
if (ae&&bd&&a+b+c+d+en)
{
printf("%d\n",i);
}
}
for (j=100000;i<=999999;j++)
{
a=j/100000;
b=j%100000/10000;
c=j%10000/1000;
d=j%1000/100;
e=j%100/10;
f=j%10;
if (af&&be&&cd&&a+b+c+d+e+fn)
{
printf("%d\n",j);
}
}
return 0;
}
第十一题
#include<stdio.h>
#include<math.h>
int A(int n);
int main()
{
int n,i,x;
scanf("%d",&n);
for(x=0,i=2;;i++)
{
if(A(i)1)
{
x++;
}
if(A(x)1&&i>=n)
{
printf("%d",i);
break;
}
}
return 0;
}
int A(int n)
{
int i;
int t=0;
if(n2||n3)
{
return 1;
}
if(n1)
{
return 0;
}
for(i=2;i<=sqrt(n);i++)
{
if(n%i0)
{
t=1;
return 0;
}
}
if(t!=1)
{
return 1;
}
}

算法小题(答案在下方)相关推荐

  1. c语言数据结构算法设计题,数据结构题集(C语言版)算法设计题答案[].doc

    数据结构题集(C语言版)算法设计题答案[].doc 第一章 绪论 1.16 void print_descending(int x,int y,int z)// 按从大到小顺序输出三个数 { scan ...

  2. 数据结构——从概念到c++实现(王红梅第3版)第一章算法设计题答案

    第一章 1.找出整型数组A[n]中的最大值和次大值. #include<iostream> using namespace std; int main() {int max,second_ ...

  3. 2021年春季学期-信号与系统-第十三次作业参考答案-第十小题

    本文是 2021年春季学期-信号与系统-第十三次作业参考答案 中各小题答案. §10 第十小题 10.用几何确定法粗略画出下列系统的幅频特性: (1)H1(s)=1(s+2)(s+3),Re[s]&g ...

  4. 2021年春季学期-信号与系统-第十三次作业参考答案-第九小题

    本文是 2021年春季学期-信号与系统-第十三次作业参考答案 中各小题答案. §09 第九小题 9.因果.稳定.LTI系统的单位脉冲响应和有理系统函数分别为h(t)与H(s).已知系统输入为单位阶跃函 ...

  5. 2021年春季学期-信号与系统-第十三次作业参考答案-第八小题

    本文是 2021年春季学期-信号与系统-第十三次作业参考答案 中各小题答案. §08 第八小题 8.因果.稳定.LTI系统的传递函数H(s),该系统的输入为: x(t)=δ(t)+es0t+x1(t) ...

  6. 2021年春季学期-信号与系统-第十三次作业参考答案-第七小题

    本文是 2021年春季学期-信号与系统-第十三次作业参考答案 中各小题答案. §07 第七小题 7. 下列Z变换中,那些是对应的因果系统的系统函数? ▓ 求解: (1)第一小题 H(z)=(z−1)2 ...

  7. 2021年春季学期-信号与系统-第十三次作业参考答案-第六小题

    本文是 2021年春季学期-信号与系统-第十三次作业参考答案 中各小题答案. §06 第六小题 6.已知电路如下图所示,传递函数的零极点如下图所示,且H(0)=1: 求 R,L,C的数值. ▓ 求解: ...

  8. 2021年春季学期-信号与系统-第十二次作业参考答案-第六小题

    ▓ 本文是 2021年春季学期-信号与系统-第十二次作业参考答案中的小题答案 §06 第六小题 6. 已知: X(z)=ln⁡(1+az),(∣z∣>∣a∣)X\left( z \right) ...

  9. 2021年春季学期-信号与系统-第十二次作业参考答案-第七小题

    ▓ 本文是 2021年春季学期-信号与系统-第十二次作业参考答案中的小题答案 §07 第七小题 1.应用MATLAB中的系统辨识工具,完成下面系统出风机输入功率与输出热风温度之间的传递函数. y(t) ...

最新文章

  1. python实训项目-实验楼Python项目
  2. 内网能PING通TELNET通不能访问解决
  3. 数据库语法_圣诞快乐:用GaussDB T 绘制一颗圣诞树,兼论高斯数据库语法兼容...
  4. 一维条形码识别c语言_条形码的优点
  5. C++11新特性之左值右值及移动语句与完美转发
  6. python图像数独_Python图像识别+KNN求解数独的实现
  7. 【Mac】Mac下安装MySQL优化工具 percona-toolkit 报错 Error: Failed to download resource openssl@1.1
  8. python io多路复用框架_python之IO多路复用
  9. php+mysql开发实战 pdf_《PHP + MySQL 开发实战》怎么样_目录_pdf在线阅读 - 课课家教育...
  10. 【译文 Part 1】NEO vs. ETH--为什么NEO可能是2018最强数字货币?
  11. Python代码实现验证码识别
  12. MapReduce-处理需求NBA球员数据(Hadoop)
  13. edp协议 netty_大牛轻松带你玩转Arduino智能硬件:EDP协议连接onenet平台
  14. 微信小程序 -- 数据库数据excel文件批量导入
  15. 区块链行业感受及近期的一些规划
  16. 分析:大数据失败案例及背后原因!
  17. 微信电脑版怎么多开分身?
  18. STM32玩转物联网实战篇:01.网络通信前准备
  19. 没有学历的程序员上限很低吗?BATZ面试评分最高的我,因为学历止步大厂......
  20. 【好奇心驱动力】ESP8266从零开始折腾记录

热门文章

  1. 如何走上定制化开发成功之路
  2. Python中list和tuple的相互转换
  3. 3D软件开发工具HOOPS全套产品开发介绍 | HOOPS Exchange、HOOPS Communicator
  4. FFmpeg+nginx实现b站推流直播
  5. 数电实验九 译码显示电路(3)多数表决器的实现
  6. ug在哪看服务器运行,【1人回答】UG软件许可证服务器的值在哪儿修改?-3D溜溜网...
  7. 矿用防灭火注浆装置 ZHJ15/1.2
  8. 目标检测扩(六)一篇文章彻底搞懂目标检测算法中的评估指标计算方法(IoU(交并比)、Precision(精确度)、Recall(召回率)、AP(平均正确率)、mAP(平均类别AP) )
  9. 目标检测中评估每类目标在IOU为0.5的PrecisionRecall
  10. 【LaTeX】如何愉快地肝report —— VS Code × LaTeX