博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
第十二周
阅读量:3969 次
发布时间:2019-05-24

本文共 5662 字,大约阅读时间需要 18 分钟。

课后练习题

A、XP的素数

题目描述

  • XP最近对素数很痴迷,特别是那些特殊的素数,其中有一类素数被称为孪生素数。其定义如下:如果一个数k是素数,k+2也是素数,那么k和k+2成为一对孪生素数。请计算一个给定区间m和n(0<m<n)中孪生素数对的个数。

输入

  • 单组输入数据 m n (0<m<n<1000)

输出

  • 请输出一行结果:区间[m,n]中孪生素数对的个数

样例输入 Copy

1 999

样例输出 Copy

35

链接:

代码

import java.util.Scanner;public class Main {
public static int prime(int n){
if(n==1) return 0; //1不是素数,返回0 for(int i=2;i

B、XP的点滴

题目描述

  • XP一不留神感冒了,于是跑到校医院打点滴。打点滴真是无聊啊,他看到盐水一滴一滴地滴下来,突然想到一个问题:如果盐水有规律地滴下,先滴一滴,停一下;然后滴二滴,停一下;再滴三滴,停一下…,假设这瓶盐水一共有n毫升,每一滴是y毫升,每一滴需要的时间是一秒(假设最后一滴不到y毫升,需花费的时间也算一秒),停一下的时间也是一秒。请问XP多久能挂完这瓶盐水呢?

输入

  • 单组输入数据 n y (0<n,y<=1000)

输出

  • 输出一行结果

样例输入 Copy

10 1

样例输出 Copy

13

链接:

代码

import java.util.Scanner;public class Main {
public static int count(int []c,int n,int y){
int temp = 0;//记录每次滴落的滴数 for(int i=0;i
n/y) sum = n/y+1; else sum = n/y; int j = 0; for(int i=0;i
0){
n-=c[i]*y;//记录间断次数 j = i; } temp = j+sum; return temp; } public static void main(String[] args) {
// TODO Auto-generated method stub Scanner sc = new Scanner(System.in); while(sc.hasNext()){
int n = sc.nextInt(); int y = sc.nextInt(); int []c = new int[105]; System.out.println(count(c,n,y)); } }}

C、今年暑假不AC

题目描述

  • “今年暑假不AC?”
  • “是的。”
  • “那你干什么呢?”
  • “看世界杯呀,笨蛋!”
  • “@#$%^&*%…”

确实如此,世界杯来了,球迷的节日也来了,估计很多ACMer也会抛开电脑,奔向电视了。

作为球迷,一定想看尽量多的完整的比赛,当然,作为新时代的好青年,你一定还会看一些其它的节目,比如新闻联播(永远不要忘记关心国家大事)、非常6+7、超级女生,以及王小丫的《开心辞典》等等,假设你已经知道了所有你喜欢看的电视节目的转播时间表,你会合理安排吗?(目标是能看尽量多的完整节目)

输入

  • 输入数据包含多个测试实例,每个测试实例的第一行只有一个整数n(n<=100),表示你喜欢看的节目的总数,然后是n行数据,每行包括两个数据Ti_s,Ti_e
    (1<=i<=n),分别表示第i个节目的开始和结束时间,为了简化问题,每个时间都用一个正整数表示。n=0表示输入结束,不做处理。

输出

  • 对于每个测试实例,输出能完整看到的电视节目的个数,每个测试实例的输出占一行。

样例输入 Copy

121 33 40 73 815 1915 2010 158 186 125 104 142 90

样例输出 Copy

5

链接:

代码

import java.util.Scanner;public class Main {
public static void swap(int[][] a,int j){
int temp = a[j][1]; a[j][1] = a[j+1][1]; a[j+1][1] = temp; temp = a[j][0]; a[j][0] = a[j+1][0]; a[j+1][0] = temp; } public static void main(String[] args) {
// TODO Auto-generated method stub Scanner sc = new Scanner(System.in); while(sc.hasNext()){
int n = sc.nextInt(); if(n<=0) break; int [][]a = new int[n][2]; for(int i=0;i
a[j+1][1]) swap(a,j); int count = 1; int num = a[0][1]; for(int i=1;i
=num){
num = a[i][1]; count++; } System.out.println(count); } }}

D、最优装载

题目描述

  • 使用贪心算法求解最优装载问题。

输入

  • 每组输入包括两部分, 第一行包括集装箱个数n,以及船的装载量C。 接下来n行每行则输入集装箱编号以及其重量。

输出

  • 输出包括两行,第一行为最多可装载的集装箱数量 。 第二行则为最优装载方案对应的所有集装箱编号(按照装载次序输出,用空格隔开) 。

样例输入 Copy

5 101 12 23 34 45 5

样例输出 Copy

41 2 3 4

代码

链接:

import java.util.Scanner;public class Main {
public static void swap(int[][] a,int j){
int temp = a[j][1]; a[j][1] = a[j+1][1]; a[j+1][1] = temp; temp = a[j][0]; a[j][0] = a[j+1][0]; a[j+1][0] = temp; } public static void main(String[] args) {
// TODO Auto-generated method stub Scanner sc = new Scanner(System.in); while(sc.hasNext()){
int n = sc.nextInt(); int c = sc.nextInt(); if(n<=0) break; int [][]a = new int[n][2]; for(int i=0;i
a[j+1][1]) swap(a,j); int count = 0; int x[] = new int[n]; for(int i=0;i

E、XP的小视频

题目描述

  • XP的表哥为他推荐了一些学习计算机编程的小视频,这些视频的播放时间长短不完全相同。现在给定一段时间,你能告诉XP他最多可以看多少个视频吗?每个视频的播放时间和给定的总时间均用分钟为单位。

输入

  • 单组输入数据 第一行为m n ,m为给定时间长度(分钟)(0<n,m<=1000) ,n表示视频个数 ,接下来是n个整数代表每个视频的播放时间(每个视频播放时间为不超过1000的正整数)

输出

  • 输出一个整数代表XP最多可以看的视频数。

样例输入 Copy

84 665 46 18 76 79 3

样例输出 Copy

3

代码

import java.util.Arrays;import java.util.Scanner;public class Main {
public static void main(String[] args) {
// TODO Auto-generated method stub Scanner sc = new Scanner(System.in); while(sc.hasNext()){
int m = sc.nextInt();//给定时间长度 int n = sc.nextInt();//视频个数 int a[] = new int[n]; for(int i=0;i

F、最小生成树(Prim)

题目描述

  • 使用Prim算法求图的最小生成树(MST)

输入

  • 每组数据分为两个部分,第一部分为图的点数n,和边数m, 第二部分为m行,每一行输入三个数字,前两个为两个顶点的编号,第三个为边权重。

输出

  • 最小生成树,输出时按照边的两个端点的升序输出。(先看左端点,再看右端点,端点不换位置)

样例输入 Copy

3 30 1 100 2 151 2 50

样例输出 Copy

0 1 100 2 15

代码

#include
using namespace std;#define ll long longconst int MAXN = 1010;const int INF = 0x3f3f3f3f;int n,m;int G[MAXN][MAXN];int g[MAXN][MAXN];void init(){
for(int i=0;i
>n>>m){
Edge edges[m]; init(); int x,y,z,cnt=0; for(int i=0;i
>x>>y>>z; G[y][x]=z; G[x][y]=z; g[x][y]=z; } int closeset[MAXN],lowcost[MAXN],used[MAXN]; for(int i=0;i

Java代码:

import java.util.Arrays;import java.util.Scanner;public class Main {
public static int n; public static int [][]c = new int[1000][1000]; public static void prim(int n){
class Edge implements Comparable{
int u,v,w;//这个类用来存边 public Edge(int u,int v,int w){
this.u = u; this.v = v; this.w = w; } @Override public int compareTo(Object o) {
//重写排序规则 // TODO Auto-generated method stub Edge edge = (Edge)o; if(edge.u!=this.u) return this.u-edge.u; return this.v-edge.v; } } Edge e[] = new Edge[n-1]; float []lowcost = new float[n+1];//最短距离 int []closest = new int[n+1];//邻居 boolean []s = new boolean[n+1];//顶点是否被访问 s[1] = true; for(int i=2;i<=n;i++){
lowcost[i] = c[1][i]; closest[i] = 1; s[i] = false; } for(int i=1;i
0)//先存下来 e[i-1] = new Edge((closest[j]-1),(j-1),c[closest[j]][j]); else e[i-1] = new Edge((j-1),(closest[j]-1),(-1)*c[closest[j]][j]); s[j] = true; for(int k=2;k<=n;k++) if((c[j][k]

【今天下午吃了广东鱼粉,学校食堂的,不知道正不正宗,反正我挺喜欢的,嘿嘿~】

句子君:

“这是一个长满了百合花的峡谷。百合花静静地开放着,水边、坡上、岩石旁、大树下,到处都有。它们不疯不闹,也无鲜艳的颜色,仿佛它们开放着,也就是开放着,全无一点别的心思。峡谷上空的阳光是明亮的,甚至是强烈的,但因为峡谷太深,阳光仿佛要走过漫长的时间。因此,照进峡谷,照到这些百合花时,阳光已经变得柔和了,柔和得像薄薄的、轻盈得能飘动起来的雨幕。”

——曹文轩《根鸟》

转载地址:http://sycki.baihongyu.com/

你可能感兴趣的文章
Flutter UI基础 - Widgets 之 InkWell 和 Ink
查看>>
Spring - sentinel和hystrix比较
查看>>
Flutter 日期插件date_format 中文 国际化 及flutter_cupertino_date_picker
查看>>
Flutter 插件笔记 | 屏幕适配 flutter_screenutil
查看>>
Flutter UI基础 - 侧拉抽屉菜单
查看>>
Flutter UI基础 - AppBar中标题文字如何居中
查看>>
Flutter UI基础 - Drawer 抽屉视图与自定义header
查看>>
Flutter UI基础 - GridView
查看>>
Flutter UI基础 - 使用InkWell给任意Widget添加点击事件
查看>>
OC WKWebView的使用
查看>>
Flutter UI基础 - Image.asset 图片铺满布局
查看>>
Flutter UI基础 - Row、Column详解
查看>>
Flutter UI基础 - 添加背景图片
查看>>
Flutter UI基础 - 布局之Row/Column/Stack
查看>>
Flutter UI基础 - 层叠布局Stack的使用
查看>>
Go - 解决 go get 超时问题
查看>>
SQL - SQL Server 之遍历数据集合的几种方法
查看>>
SQL - SQL Server 之处理JSON数据
查看>>
SQL - SQL Server 之WHILE循环的坑
查看>>
SQL - SQL Server 性能优化之SQL语句总结
查看>>