6.26测试

本次考试的粗心不忍吐槽(自带贴吧喷水表情),本次考试主要考察的知识点如下:

  • 算法的分析与精简
  • 暴力枚举输出字符
  • 判断与枚举的综合考察

题目

  • 第一题

    【问题描述】

    在一口井里,有一只神牛(其实是蜗牛),它打算从井底爬到地面上。已知井的深度为V米,蜗牛每天白天可以往上爬A米,可是每天晚上睡觉的时候,它会杯具地向下滑落B米。

    求蜗牛需要多少天才能爬出井。

    【输入】

    包括三个由空格分开的数字:A,B和V

    其中(1≤B<A≤V≤1 000 000 000)。

  • 第二题

    【问题描述】

    热衷图形输出的XW老师对于OJ上的图形输出题很不满意,认为难度太低,所以他亲自设计了此题来考验大家(╯﹏╰)。为了可以输出更大的图形,同时保证美观性,XW老师决定当输出的数字大于9的时候用小写字母进行代替(a代替10,b代替11,往后依次)。

    【输入】

    一个整数 N (1 ≤ N ≤ 35)

    【输出】

    一个所谓菱形。

  • 第三题

-总时间限制:

5000ms

内存限制:

65536kB

描述

一个数如果从左往右读和从右往左读数字是相同的,则称这个数是回文数,如121,1221,15651都是回文数。给定位数n,找出所有既是回文数又是素数的n位十进制数。(注:不考虑超过整型数范围的情况)。

输入

位数n,其中1<=n<=9。

得分

题目 分数
1 50
2 100
3 80
共计 230

第一题

拿到题时,楼下的刘老师告诉我们先仔细看看题目,至少要到半个小时再去敲代码,但当他把这句话说完到时候,我就已经把第一道题到错误代码敲出来了(( ⊙ o ⊙ )!),当时看到数据范围的我蒙了一下,然后迅速的把我的代码运行>>输入数据;结果都没超时((^o^)/)然而得到分数的我才知道,当时我的数据试的太大,神牛爬的太快(笑)。当时还想老师会不会用一些比较特(hen)殊(tai)的数据,然后小心翼翼地输进去>>6>>1>>99999999(shutdown),小小的光标在不断的嘲讽我,循环是错误的,然而脑门一热,算了老师应该不会这么…….于是就接着看了下一道。

****************我滴思路(错误)**************

很明显嘛,定义一个天数,定义一个爬过的路,然后循环一次累加一天,就可以知道几天爬上去了。

然而超时………………(懵逼)

****************正确的思路*******************

这是一道用计算机语言花式解决小学奥数的典范,五六岁的刚学加减法的小孩就知道用加法一点一点的加就能知道几天就能上天,然而学过乘法的二年级小学生就知道要用除法计算蜗牛的天数。

首先判断,它能不能在一天内上天,如果可以,直接输出“1”;

其次判断,最后一天能不能正好上天;

如果可以那么就有:

天数=(长度-爬)/(爬-滑)+1

如果不能就有:

天数=(长度-爬)/(爬-滑)+2

(^o^)/

#include<iostream>
using namespace std;
int main()
{
int m,n,a,b;
cin>>m>>n>>a;
if(m>=a) cout<<1<<endl;
else
{
if((a-m)%(m-n)==0)
cout<<(a-m)/(m-n)+1<<endl;
else
cout<<(a-m)/(m-n)+2<<endl;
}
return 0;
}

第二题

拿到第二题的反应:一阵狂喜!!!

OJ的菱形,只不过把空格改成字符,把字符改成了空格

于是果断跳过看最后一个,

BUT当我做完第三个拐回头来看的时候,我却做了快一个小时!

*************我的思路**************

首先把图形看成两部分:上半部分倒三角,下半部分正三角

上半部分:输出的字符=行数(循环总共的行数-行数次)

空格=2*行数-1

下半部分:倒着输出来即可

***************代码实现************

#include <iostream>
#include <iomanip>
#include <cstring>
#include <string>
#include <cmath>
#include <algorithm>
#include <cstdio>
using namespace std;
int main()
{
/*freopen("picture.in","r",stdin);
freopen("picture.out","w",stdout);*/
int a,b,m,n;
cin>>a;
n=a;
m=a;
char ch1='a';
if(a<10)
{
for(int ll=1;ll<=n;ll++)
{
for(int i=1;i<=a;i++)
{
cout<<ll; }
a--;
for(int i=1;i<=2*ll-1;i++)
{
cout<<' ';
}
for(int i=1;i<=a+1;i++)
{
cout<<ll; }
cout<<endl;
}
for(int ll=1;ll<=m-1;ll++)
{
for(int i=1;i<=ll+1;i++)
cout<<m-ll;
for(int i=2*n-3;i>=1;i--)
cout<<' ';
n--;
for(int i=1;i<=ll+1;i++)
cout<<m-ll;
cout<<endl;
}
}
if(a>10)
{
for(int ll=1;ll<=n;ll++)
{
for(int i=1;i<=a;i++)
{
if(ll<10)
cout<<ll;
else
cout<<char(96+ll-9);
}
a--;
for(int i=1;i<=2*ll-1;i++)
{
cout<<' ';
}
for(int i=1;i<=a+1;i++)
{
if(ll<10)
cout<<ll;
else
cout<<char(96+ll-9);
}
cout<<endl;
}
for(int ll=1;ll<=m-1;ll++)
{
for(int i=1;i<=ll+1;i++)
{
if(m-ll>9)
cout<<char(122+m-35-ll);
else
cout<<m-ll;
}
for(int i=2*n-3;i>=1;i--)
cout<<' ';
n--;
for(int i=1;i<=ll+1;i++)
{
if(m-ll>9)
cout<<char(122+m-35-ll);
else
cout<<m-ll;
}
cout<<endl; }
}
return 0;
}

代码略臃肿,多多见谅,考试时候太慌

第三题

拿到第三题,脑子还是热的,我前一天刚看过回文数的代码,于是思路就有了

第一步:判断回文数

第二步:判断素数

考试的时候很紧张的就是,判断素数达到九位就会超时,疯狂的在想自己怎样才能不超时

依旧but我在考试结束的时候才想起来输出格式要先出来有几个素数,于是就又定义一个数组,把满足条件的数字存进去,最后再输出来

*********************判断回文数的思路***********************

每一次位数除以十,看看它的位数和前面的数字是否相同,如果相同,就是回文

************************代码实现***************************

#include <iostream>
#include <iomanip>
#include <cstring>
#include <string>
#include <cmath>
#include <algorithm>
#include <cstdio>
using namespace std; int main()
{
/*freopen("prime.in","r",stdin);
freopen("prime.out","w",stdout);*/
long long a,b=1,n,weishu[10000],huiwen,sum=0;
cin>>a;
for(int i=1;i<=a;i++)
{
b=10*b;
}
b=b/10;
huiwen=b;
for(int i=huiwen;i<huiwen*10;i++)
{
int tt=i;
int s=0,m=tt;
while(tt>0)
{
s=s*10+tt%10;
tt/=10;
}
if(s==m)
{ bool flag=true;
for(int i=2;i<=sqrt(m*1.0);i++)
if(m%i==0)
{
flag=false; break;
}
if(flag&&m!=1)
{ sum++;
weishu[sum]=m;
}
}
}
cout<<sum<<endl;
for(int i=1;i<=sum;i++)
cout<<weishu[i]<<' ';
return 0;
}

***************老师的代码****************

#include<iostream>
#include<cstring>
#include<utility>
#include<cstdlib>
#include<cstdio>
#include<string>
#include<vector>
#include<ctime>
#include<cmath>
#include<queue>
#include<map>
#include<set>
#define ll long long
#define ull unsigned long long
using namespace std;
const int oo=2000000000;
const int maxn=100000;
int n;
int Pw[15],Ans[maxn];
void Judge(int Num){
int Limit=(int)sqrt(1.0*Num);
for(int i=2;i<=Limit;i++)
if(Num%i==0)
return ;
Ans[++Ans[0]]=Num;
}
void Dfs(int x,int Num){
if(x*2>n+1){
Judge(Num);
return ;
}
if((n&1) && x*2>n)
for(int i=0;i<=9;i++)
Dfs(x+1,Num+Pw[x-1]*i);
else if(x==1)
for(int i=1;i<=9;i+=2)
Dfs(x+1,Num+Pw[0]*i+Pw[n-1]*i);
else
for(int i=0;i<=9;i++)
Dfs(x+1,Num+Pw[x-1]*i+Pw[n-x]*i);
}
int main(){
//srand(time(0));
/*freopen("prime.in","r",stdin);
freopen("prime.out","w",stdout);*/
Pw[0]=1;
for(int i=1;i<=9;i++) Pw[i]=Pw[i-1]*10;
cin>>n;
if(n==1){
printf("4\n2 3 5 7\n");
return 0;
}
Dfs(1,0);
printf("%d\n",Ans[0]);
for(int i=1;i<=Ans[0];i++) printf("%d ",Ans[i]);
printf("\n");
//cout<<"Time has passed:"<<1.0*clock()/1000<<"s!"<<endl;
return 0;
}

写在最后

本次考试,粗心丢了一百,原因是文件名打错。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。让我悲伤一会,这种错误实在令人无语,想想平时生活,平常的考试,不都是因为计算这种错误而丢掉很多分数吗?严谨对我就那么男吗(@某位严谨的男人)?此次考试,失误也就再此了,第一题的小学奥数,第二题的坑爹循环,第三题的莫名超时,错误贯穿程序猿的一生。

6.26实力测试(小错笑cry)的更多相关文章

  1. 测试小姐姐问我 gRPC 怎么用,我直接把这篇文章甩给了她

    原文链接: 测试小姐姐问我 gRPC 怎么用,我直接把这篇文章甩给了她 上篇文章 gRPC,爆赞 直接爆了,内容主要包括:简单的 gRPC 服务,流处理模式,验证器,Token 认证和证书认证. 在多 ...

  2. 【Discuz】云平台服务:出了点小错,由于站点ID/通信KEY等关键信息丢失导致Discuz!云平台服务出现异常

    提示信息 出了点小错,由于站点ID/通信KEY等关键信息丢失导致Discuz!云平台服务出现异常 版本X3.2.20160601 解决方案 Step1.修改云平台开通状态为未开通状态 Step2.访问 ...

  3. apache ab压力测试报错(apr_socket_recv: Connection reset by peer (104))

    apache ab压力测试报错(apr_socket_recv: Connection reset by peer (104))   今天用apache 自带的ab工具测试,当并发量达到1000多的时 ...

  4. 【GitLab】gitlab上配置webhook后,点击测试报错:Requests to the local network are not allowed

    gitlab上配置webhook后,点击测试报错: Requests to the local network are not allowed 操作如下: 报错: 错误原因: gitlab 10.6 ...

  5. apache ab压力测试报错apr_socket_recv

    apache ab压力测试报错(apr_socket_recv: Connection reset by peer (104)) apache 自带的ab工具测试,当并发量达到1000多的时候报错如下 ...

  6. Xamarin.iOS真机测试报错

    Xamarin.iOS真机测试报错   错误信息:The MinimumOSVersion inside Info.plist does not include the device version( ...

  7. Xamarin Android真机测试报错

    Xamarin Android真机测试报错   Xamarin Android真机测试报错,错误信息为INSTALL_CANCELLED_BY_USER.出现这个错误,通常都是真机上开发者选项设置错误 ...

  8. 利用 Python 写一个颜值测试小工具

    我们知道现在有一些利用照片来测试颜值的网站或软件,其实使用 Python 就可以实现这一功能,本文我们使用 Python 来写一个颜值测试小工具. 很多人学习python,不知道从何学起.很多人学习p ...

  9. jsp前三章小测试:错题

    /bin:存放各种平台下用于启动和停止Tomcat的脚本文件 /logs:存放Tomcat的日志文件 /webapps:web应用的发布目录 /work:Tomcat把由JSP生成的Servlet存放 ...

随机推荐

  1. struts原理图

    n the diagram, an initial request goes to the Servlet container (such as Jetty or Resin) which is pa ...

  2. table 合并内容相同的第一列

    function mergeCells() { var tbodyTlth = $("#datatable_ajax1 tbody").find("tr").l ...

  3. mysql不能使用IP连接,可以使用localhost连接

    问题: 本地mysql,使用127.0.0.1可以连接成功,使用具体IP连接报错 ERROR 1130 (HY000): Host '10.252.225.125' is not allowed to ...

  4. 在 MySQL 中创建一个中文数据库

    安装完 MySQL 后,要修改密码. step 1: SET PASSWORD = PASSWORD('your new password'); step 2: ALTER USER 'root'@' ...

  5. IDEA错误:Cannot start compilation: the output path is not specified for module "Test". Specify the out

    错误是发生在从github上checkout自己的项目时.因为没有将配置文件一起上传,所以在运行Java程序时有了这个报错: Cannot start compilation: the output ...

  6. hbase备份数据与异地新建

    hbase org.apache.hadoop.hbase.mapreduce.Driver export news /tmp/news1 备份news表至hdfs的/tmp目录下面. hadoop ...

  7. idea插件推荐

    CodeGlance 类似SublimeText的Mini Map插件  Background Image Plus 这又是一款装备B插件了,想想别人看到你的IDE有个美女或者异次元背景是怎样的,安装 ...

  8. 使用ffmpeg从mp4文件中提取视频流到h264文件中

    ffmpeg -i 2018.mp4 -codec copy -bsf: h264_mp4toannexb -f h264 tmp. 注释: -i 2018.mp4:  是输入的MP4文件 -code ...

  9. Rxjs之创建操作符(Angular环境)

    一 of操作符 import { Component, OnInit } from '@angular/core'; import { of } from 'rxjs/observable/of'; ...

  10. Python: re.sub()第二个参数

    起源: 问题源于解析kissanime.io这个网站.为反扒抑或是防止ddos攻击,此视频页面,初进去会有个5秒延迟并提交一表单验证.而其表单验证,为下面一段html代码: <form id=& ...