青少年编程知识记录 codecoming

【题解】计算天数

【题目描述】

以 年-月-日 的形式给定一个日期,计算给定的日期是当年第几天。注意闰年二月有29天。

【输入描述】

输入格式为 yyyy-mm-dd,其中

  • yyyy 表示给定的年份,mm 表示给定的月份,dd 表示给定的日期。

  • 如果这些数字不足四位或二位,以 0 补足。

  • 保证月份与日期都是合理的。

【输出描述】

单个整数:表示输入的日期是当年的第几天。

【样例输入1】

2021-12-31

【样例输出1】

365

【样例输入2】

2022-01-01

【样例输出2】

1
作者:亿万年的星光 分类:题解目录 浏览:

【题解】最大平方因子

【题目描述】

给定一个整数 n,请找出 n 的最大平方因子。所谓平方因子,就是一个 n 的因子,且是一个完全平方数。最大平方因子就是 n 的所有平方因子中最大的数。

如 12的最大平方因子为 4,81 的最大平方因子为其本身,21 的最大平方因子为 1。

【输入描述】

单个整数表示 n。

【输出描述】

单个整数表示 n 的最大平方因子。

【样例输入1】

12

【样例输出1】

4

【样例输入2】

81

【样例输出2】

81

【样例输入3】

21

【样例输出3】

1

【数据范围】

  • 对于 50% 的数据,1≤n≤10000;

  • 对于 100% 的数据,1≤n≤10,000,000。



作者:亿万年的星光 分类:题解目录 浏览:

【题解】修改回文

【题目描述】

如果一个字符串,顺读与倒读的内容一样,称这个字符串为回文。例如 aka 是一个回文,noon 也是一个回文。

给定一个字符串,请计算最少需要修改多少个字符,才能将这个字符串变成回文。

单次修改可以将字符串中某一个位置上的字符变成任意一个其他字符。

【输入描述】

一列字符:保证字符仅由小写拉丁字母构成。

【输出描述】

单个整数:表示最少需要多少次修改才能将输入字符串变成回文。

【样例输入1】

abbc

【样例输出1】

1

【样例输入2】

aaa

【样例输出2】

0

【数据范围】

设字符串的长度为 n

  • 50% 的数据,1≤n≤1,000

  • 100% 的数据,1≤n≤1,000,000

【说明】

样例1将c修改成a

样例2不需要修改

作者:亿万年的星光 分类:题解目录 浏览:

2020年CSP-J 初赛题目及答案解析

扫码关注下面微信公共号,发送“CSPJ2020”获取文章答案查看详细解题过程:题目及答案下载链接(PDF):https://box356.lanzoub.com/iUllf27ae9gj2020年普及组一、单项选择题1.在内存储器中每个存储单元都被赋予一个唯一的序号,称为(   )。A.地址        B.序号        C.下标
作者:亿万年的星光 分类:初赛 浏览:

【题解】盈亏问题

【题目描述】

一群人团购一件物品:

如果每人出 a元,所付总金额比物价多出了x 元;

如果每人少出 1元,也就是每人出a-1元,所付总金额比物价少了y元。

给定 a,x,y求参与团购的人数及该物品的价格。

【输入描述】

单独一行:三个整数:a,x及y

【输出描述】

单独一行:两个整数。第一个整数表示参与的人数,第二个整数表示物品的价格,中间用一个空格分开。

【样例输入】

8 3 4

【样例输出】

7 53

【数据范围】

  • 1≤a≤1000

  • 1𝑥10001≤x≤1000

  • 1𝑦10001≤y≤1000



作者:亿万年的星光 分类:C++知识 浏览:

【题解】感应门

【题目描述】

感应门会在有人经过的时候自动打开,冷却d 秒后自动关闭。如果有人在感应门打开的状态下通过,那么冷却时间会重置,重新冷却d秒后再关闭。

在一段时间内,有 n个人陆续通过了感应门,他们通过感应门的时间点分别是t1,t2,⋯,tn,请计算感应门一共开放了多少时间。

【输入描述】

第一行:两个整数n与d,n表示通过感应门的人数,d表示感应门的冷却时间。

第二行:n个整数t1,t2,⋯,tn,每个数字表达一个人通过感应门的时间点。

【输出描述】

单个整数,表示感应门总共开启了多少时间。

【样例输入】

7 3  1 2 7 10 15 17 22

【样例输出】

18

【数据范围】

对于 50% 的数据,1≤n≤1000;  对于 100% 的数据,1≤n≤100,000;  1≤t1≤t2≤t3≤⋯≤tn≤1,000,000,000;  1≤d≤1,000,000,000。
作者:亿万年的星光 分类:题解目录 浏览:

2019年CSP-J 初赛题目及答案解析

扫码关注下面微信公共号,发送“CSPJ2019”获取文章答案查看详细解题过程:原版初赛题目下载链接:CSP-J相关资料 - 青少年编程知识记录 (codecoming.com)答案:解析:2019年普及组一、单项选择题1.中国的国家顶级域名是(  )A..cn        B..ch        C..chn   
作者:亿万年的星光 分类:初赛 浏览:

ICode—编程一小时(python版) 参考答案

1.Dev.step(4) Spaceship.step(2) Dev.turnRight() Dev.step(3)2.Dev.step(4)3.Dev.step(6)4.Dev.step(4) Dev.turnLeft() Dev.step(3)5.Dev.step(5) Dev.turnRight() Dev.step(2)6.Dev.step(1) Spaceship.step(2) Dev.step(5)7.Spaceship.step(3) Spaceship.t
作者:亿万年的星光 分类:python知识 浏览:

信息学奥赛知识点(十五)----链表

4.1 基本概念(1)用来存储数据变量叫做数据域。(2)用来存“直接后继(前趋)元素的地址”的指针叫做指针域。(3)数据域和指针域构成的元素叫做结点。(4)”->” 箭头运算是结构体指针访问其指向的成员变量的操作符.4.2单链表(1)单链表的定义:1.  struct Node {2.   int data;3.   Node * next;4.  };5.  Node * p;(2)单链表的查找//(按序号查找)在单链
作者:亿万年的星光 分类:初赛 浏览:

信息学奥赛知识点(十四)----指针

3.1 定义

指针就是地址。

指针变量定义形式:  类型说明符  *变量名     例如:int  *a;

含义:定义了一个int *类型变量,名称为a。(只能存储int *类型)

注意:int *类型和int 类型不一样。



3.2 指针的赋值

实际操作中,&”符号表示“取地址符”。(区别与&&和按位与&,使用场景不同)。比如下面的代码:

1.  #include<iostream>

2.  #include<cstdio>

3.  using namespace std;

4.  int main() {

5.   int a=3;

6.   int *p=NULL;

7.   p=&a;

8.   cout<<"a的值"<<a<<endl;  //3

9.   cout<<"p的值"<<p<<endl;  //0x22fe34

10.  cout<<"*p的值"<<*p<<endl; //3

11.  return 0;

12. }

其中,第7行的“&”表示取变量a的地址,赋值给p变量,而p是指针类型,可以保存地址。

scanf读取数据的时候,也会写作scanf(“%d”,&a); 这里面的&”也是取地址符号。

10行的结果是3,也就是a的值,这里可以这样理解:因为pint *类型,*p等价于*(int *),这里可以“负负得正”的思想来记录结果,也就是指向了int *这个指针所指向的变量。

3.3 指针与数组

  指向数组的指针变量称为数组指针变量。数组是内存上一块连续的空间。数组名就是这块连续空间的首地址。

1.  #include<iostream>

2.  #include<cstdio>

3.  using namespace std;

4.  int main() {

5.   int a[10];

6.   for(int i=0; i<5; i++) {

7.    scanf("%d",a+i); 

8.   }

9.   for(int i=0; i<5; i++) {

10.   printf("%d ", *(a+i)); 

11.  }

12.  return 0;

13. }



作者:亿万年的星光 分类:初赛 浏览: