【nowcoder】笔试强训Day14

news2024/11/18 11:47:39

目录

一、选择题

二、编程题

2.1计算日期到天数转换

2.2幸运的袋子


一、选择题

1.定义学生、教师和课程的关系模式 S (S#,Sn,Sd,Dc,SA )(其属性分别为学号、姓名、所在系、所在系的系主任、年龄); C ( C#,Cn,P# )(其属性分别为课程号、课程 名、先修课); SC ( S#,C#,G) (其属性分别为学号、课程号和成绩),则该关系为( )

A. 第二范式

B. 第一范式

C. 第三范式

D. BCNF范式

范式是符合某一种级别的关系模式的集合。关系数据库中的关系必须满足一定的要求,满足不同程度要求的为不同范式。目前关系数据库有六种范式:第一范式( 1NF )、第二范式( 2NF )、第三范式( 3NF )、 Boyce-Codd 范式( BCNF )、第四范式( 4NF )和第五范式( 5NF )。

满足最低要求的范式是第一范式( 1NF )。在第一范式的基础上进一步满足更多要求的称为第二范式( 2NF ),其余范式以次类推。一般说来,数据库只需满足第三范式( 3NF )就行了。

第一范式:主属性(主键)不为空且不重复,字段不可再分(存在非主属性对主属性的部分依赖)。 第二范式:如果关系模式是第一范式,每个非主属性都没有对主键的部分依赖。 第三范式:如果关系模式是第二范式,没有非主属性对主键的传递依赖和部分依赖。 BCNF 范式:所有属性都不传递依赖于关系的任何候选键。

题目中关系模式满足第二范式,但在关系模式 S 中,学生所在系依赖于学号( S# → Sd ),但系本身确定了系主任( Sd → Dc ),存在传递依赖,不满足第三范式。

所以正确答案是 

2.下面不属于数据库系统特点的是( ) 

A. 数据冗余度高

B. 数据具有完整性

C. 数据共享性好

D. 数据独立性高

数据库系统的特点是:数据结构化、数据的共享性高,冗余度低,易扩充、数据独立性高、数据由DBMS统一管理和控制。

所以正确答案是 

3.将实体-联系模型转换为关系模型时,实体之间多对多联系在关系模型中的实现方式是( )

A. 建立新的关系

B. 建立新的属性

C. 增加新的关键字

D. 建立新的实体

将实体-联系模型转换为关系模型时,实体之间多对多联系在关系模型中的实现方式是建立新的关系。

所以正确答案是 

4.关于求和函数,以下说法正确的是()

A.sum返回表达式中所有数的总和,因此只能用于数字类型的列

B. Avg返回表达式中所有数的平均值,可以用于数字型和日期型的列

C. Max和Min可以用于字符型的列

D. Count可以用于字符型的列

sum函数所处理的字段类型必须是数值型的,不能是其他数据类型的,比如字符或日期。

avg这个是数值函数 , 不能用于日期。

所以正确答案是 

5.有三个关系 R 、 S 和 T 如下:则由关系 R 和 S 得到关系 T 的操作是( )。

A. 自然连接

B. 交

C. 除

D. 并

如果 S = T/R ,则 S 称为 T 除以 R 的商。在除运算中 S 的域由 T 中那些不出现在 R 中的域所组成,对于 S 中的任一有序组,由它与关系 R 中每个有序组所构成 的有序组均出现在关系 T 中。

所以正确答案是 C  

6.设有表示学生选课的三张表,学生S(学号,姓名,性别,年龄,身份证号),课程C(课号,课名),选课SC(学号,课号,成绩),则表SC的关键字(键或码)为( )。

A. 课号,成绩

B. 学号,成绩

C. 学号,课号

D. 学号,姓名,成绩

在表SC中有学生表中的学号,还有课程表中的课号,所以这两者是SC中的外键。

所以正确答案是 C  

7.关系数据库所采用的数据存放形式是()

A. 二维表

B. 链表

C. 网状

D. 二叉树

关系数据库所采用的数据存放形式是二维表。

所以正确答案是 

8.某关系表有:员工(部门编号,部门名称,员工编号,姓名,性别,年龄),则其主码为()。

A. 部门编号、员工编号

B. 员工编号

C. 姓名

D. 部门编号

员工信息表中的主码就是员工的编号,每个人都是不同的,用于区分每个员工。

所以正确答案是 

9.在使用 limit 子句时,如果没有足够的行,则:

A. MySQL会报错

B. MySQL将只返回它能返回的那么多行

C. MySQL将不会返回任何行

在使用 limit 子句时,如果没有足够的行,则MySQL将只返回它能返回的那么多行

所以正确答案是 B  

10.不属于SQL语句的是()

A. SELECT

B. CANCEL

C. UPDATE

D. ALTER

SELECT、UPDATE、ALTER都是sql语句,第一个是查询中的关键字,第二个是更新表中信息的关键字,第三个是修改表

所以正确答案是 

二、编程题

2.1计算日期到天数转换

根据输入的日期,计算是这一年的第几天。 保证年份为4位数且日期合法

 设置一个year方法来判断年份是否是闰年判断条件就是y%400==0||y%4==0&&y%100!=0

然后再创建一个mouth方法,按照对应的月份返回对应的天数,要考虑是否是闰年的二月,然后将他们都相加再加上一开始输入的天即可。

public class Main {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        int y = sc.nextInt();
        int m = sc.nextInt();
        int d = sc.nextInt();
        int sum = d;
        boolean x = year(y);
        for (int i = 1; i < m; i++) {
            sum+=mouth(i,x);
        }
        System.out.println(sum);
    }

    public static boolean year(int y){
        if(y%400==0||y%4==0&&y%100!=0){
            return true;
        }
        return false;
    }
    public static int mouth(int m,boolean x){
        if(m==1){
            return 31;
        }else if(m==2&&x){
            return 29;
        }else if(m==2&&!x){
            return 28;
        }else if(m==3){
            return 31;
        }else if(m==4){
            return 30;
        }else if(m==5){
            return 31;
        }else if(m==6){
            return 30;
        }else if(m==7){
            return 31;
        }else if(m==8){
            return 31;
        }else if(m==9){
            return 30;
        }else if(m==10){
            return 31;
        }else{
            return 30;
        }
    }
}

2.2幸运的袋子

一个袋子里面有n个球,每个球上面都有一个号码(拥有相同号码的球是无区别的)。如果一个袋子是幸运的当且仅当所有球的号码的和大于所有球的号码的积。 例如:如果袋子里面的球的号码是{1, 1, 2, 3},这个袋子就是幸运的,因为1 + 1 + 2 + 3 > 1 * 1 * 2 * 3 你可以适当从袋子里移除一些球(可以移除0个,但是别移除完),要使移除后的袋子是幸运的。现在让你编程计算一下你可以获得的多少种不同的幸运的袋子。

首先对数组进行排序,然后遍历数组,使用递归。当一个袋子号码无法和前面的袋子号码达到要求的时候,后面的袋子号码自然也不会达到要求,直接break。因为号码已经排序了,越往后数值越大,乘积自然也越大。
当递归返回的时候,需要回溯,继续计算前面的号码和当前位置后面的号码是否是幸运的。
然后要考虑特殊情况,即号码为1。

public class Main {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        int n = sc.nextInt();
        int[] num = new int[n];
        for (int i = 0; i < n; i++) {
            num[i] = sc.nextInt();
        }
        Arrays.sort(num);
        System.out.println(lucky(num,0,0,1));
    }

    public static int lucky(int[] arr,int index,long sum,int tmp){
        int count = 0;
        for (int i = index; i < arr.length; i++) {
            sum +=arr[i];
            tmp *=arr[i];
            if(sum>tmp){
                count+=1 + lucky(arr,i+1,sum,tmp);
            }else if(arr[i]==1){
                count +=lucky(arr,i+1,sum,tmp);
            }else{
                break;
            }
            sum-=arr[i];
            tmp/=arr[i];
            while(i<arr.length-1&&arr[i]==arr[i+1] ){
                    i++;
            }
        }
        return count;
    }
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/129806.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

ansible的安装以及实例

目录 ansible的安装&#xff1a; 一、配置centos8基本源 二、配置epel 三、安装ansible 四、查看ansible是否安装以及版本 实例&#xff1a; 实例一&#xff1a;控制主机和受控主机通过root用户免密验证远程控制主机实施对应任务 实例二&#xff1a;控制主机连接受控主机…

SSH协议理论讲解

目录 基本概念 SSH协议的组成 SSH工作原理 SSH版本协商阶段&#xff08;确定V1版本或V2版本&#xff09; 算法协商阶段 密钥交换阶段 用户认证阶段 会话交互阶段 基本概念 SSH&#xff08;Secure Shell&#xff09;安全外壳协议&#xff0c;是一种用于在不安全网络上进…

Redisson实现延迟队列

k8s部署单点Redis (1)k8s部署redis的yaml文件 apiVersion: apps/v1 kind: Deployment metadata:creationTimestamp: nulllabels:app: redisname: redis spec:replicas: 1selector:matchLabels:app: redisstrategy: {}template:metadata:creationTimestamp: nulllabels:app: r…

Jmeter系统学习

Jmeter体系结构 Jmeter概念&#xff1a; 元件&#xff1a;每一个功能&#xff0c;例如Http请求&#xff0c;响应断言等。 组件&#xff1a;每一类元件的组合&#xff0c;例如采样器&#xff0c;配置元件。 Jmeter体系可以分为3个维度&#xff1a; X1--X5&#xff1a;负载模…

(二十八)Vue之组件化编码流程

文章目录组件化编码流程拆分静态组件实现动态组件实现交互实现添加实现勾选实现删除实现全选与全不选实现清除已完成任务TodoList案例小细节Vue学习目录上一篇&#xff1a;&#xff08;二十七&#xff09;Vue组件的样式 先看一个需求&#xff1a;TodoList案例 功能&#xff1a…

c# http请求使用multipart/form-data 方式上传文件及其他参数

这次的需求是请求java那边的一个excel批量上传的接口。但是他们的接口要求是这样的 于是自己写了个方法&#xff1a; 调用&#xff1a; 控制器层 var file this.HttpContext.Request.Files[0];//获取前端传来的文件 var fileName file.FileName; //注意&…

控制RK3568的GPIO

提示&#xff1a;文章写完后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 文章目录前言一、设备树中是如何描述引脚的&#xff1f;1.pinctrl子系统2.gpio子系统二、使用步骤总结前言 RK3568的引脚资源还是相当多的&#xff0c;一共有5组GPIO&#x…

数图互通高校房产管理——房屋修缮管理

数图互通房产管理系统在这方面做得比较全面&#xff1b; 实现房屋修缮改造、装修维护、零星维修线上管理&#xff0c;建立机制规范管理&#xff0c;避免私自改扩建。 建筑物立项审批全流程资料和过程管理&#xff0c;建筑物修建施工、维修审批流程管理。整套系统包含了建筑物从…

链下签名实现

什么是签名 比如我们在使用 opensea 的时候&#xff0c;经常会提示我们进行数字签名&#xff0c;如下图&#xff1a; 用户进行 sign 确认&#xff0c;即用自己的私钥对一段数据进行签名&#xff0c;得到一个 signature&#xff0c;其他人可以使用你私钥对应的公钥&#xff0c…

推荐5款Windows桌面效率工具

今天我想分享一些自己比较喜欢的桌面端软件&#xff0c;还请大家包涵指正。如果你曾搜索过 Windows 效率工具推荐&#xff0c;对下文的软件或许有所了解。不过为了凑字数&#xff0c;我还是会再介绍一遍。 1.文件定位——Listary Listary 是我使用频率最高的软件之一&#xf…

Java重点源码回顾——HashMap1.8

1. 概述 在之前的文章中&#xff0c;我们介绍了HashMap1.7的源码&#xff0c;今天我们来看下HashMap1.8的源码。HashMap1.8相比于1.7最大的改变就是改变了1.7中采用数组链表的方式存储键值对&#xff0c;转而由数组链表红黑树的方式来存储键值对。HashMap1.8的底层结构如下图所…

RPC 好,还是 RESTful 好

OSI网络七层模型 RPC服务 RPC架构 同步调用与异步调用 流行的RPC框架 HTTP服务 总之 RPC主要是基于TCP/IP协议的&#xff0c;而HTTP服务主要是基于HTTP协议的&#xff0c;我们都知道HTTP协议是在传输层协议TCP之上的&#xff0c;所以效率来看的话&#xff0c;RPC当然是要更…

【python】py课后作业程序题5「PTA」

py字典合集7-1 Python猜数游戏7-2 jmu-python-分段函数7-3 循环求e的近似值&#xff08;高教社&#xff0c;《Python编程基础及应用》习题6-7&#xff09;7-4 jmu-python-判断是否构成三角形7-5 jmu-python-输入输出-计算字符串中的数7-6 jmu-python-随机生成密码7-7 jmu-pytho…

vscode使用CMake Tool插件构建第一个CMake的helloworld工程

vscode使用CMake Tool插件构建第一个CMake的helloworld工程一、linux环境准备1.1 CMake安装1.2 gcc/g的安装二、vscode 插件安装2.1 C扩展2.2 CMake Tool三、使用CMake构建第一个工程3.1 创建工程目录3.2 使用CMake Tool创建第一个Project3.3 Configure 第一个project四、构建工…

Java中序列化接口Serializable的serialVersionUID的作用

原文网址&#xff1a;Java中序列化接口Serializable的serialVersionUID的作用_IT利刃出鞘的博客-CSDN博客 简介 本文介绍Java中序列化接口Serializable的serialVersionUID的作用。 序列化与反序列化 含义 序列化&#xff1a;将java对象转化为字节序列。反序列化&#xff1a…

【mysql】索引的基本使用

文章目录1. 索引的声明与使用1.1 索引的分类1.2 创建索引1.2.1 创建表的时候创建索引&#xff08;隐式&#xff09;1.2.2 在已经存在的表上创建索引&#xff08;显式&#xff09;1、创建普通索引2、创建唯一索引3、主键索引4、创建单列索引5、创建联合索引6、创建全文索引7、创…

33、基于STM32的计时器(Proteus仿真+程序)

编号&#xff1a;33 基于STM32的计时器 功能描述&#xff1a; 使用proteus 软件设计一个基于STM32的家用计时器&#xff0c;该系统包含多个按键、LED运行灯和时间显示(时间显示是LCD1602) 其功能如下: 1、利用按键实现设置计时时间功能&#xff0c;时间格式:AB:CD:E 例如01:5…

【攻防世界】江苏工匠杯 Web easyphp

打开页面是一个代码审计的题目&#xff0c;是我不太熟悉的东西&#xff0c;但是没关系&#xff0c;我们可以学是吧&#xff0c;以下为源代码 <?php highlight_file(__FILE__); $key1 0; $key2 0;$a $_GET[a]; $b $_GET[b];if(isset($a) && intval($a) > 60…

【ES实战】ES集群节点迁移与缩容

ES集群节点迁移与缩容 文章目录ES集群节点迁移与缩容master节点迁移场景一场景二场景三data节点迁移数据迁移操作1、查询集群原来的配置2、清空节点数据3、检查是否排空数据迁移原则缩容前置检查项master节点迁移 场景一 集群上的master部署情况&#xff0c;一台机器上同时部…

智能化IT运维平台建设方案,基于智和信通运维体系的高敏捷二次开发

随着企业信息进程不断加速&#xff0c;运维人员需要面对越来越复杂的业务和越来越多样化的用户需求&#xff0c;不断扩展的应用需要越来越合理的模式、越来越智能的工具来保障运维能灵活便捷、安全稳定地开展。企业网络规模的不断扩大&#xff0c;从初期的几台服务器发展到庞大…