- 博客(16)
- 收藏
- 关注
原创 回文日期(简单)
计算年份在1000≤year≤3000间,年月日构成回文数的个数 例:20211202为回文数 解题思路 先将12个月的日期定义出来,之后要对年份进行判断,如果为闰年需要将二月份的日期进行修改。 之后利用一个简单的除法计数,来实现回文的输出。 代码 #include <stdio.h> int main() { int year, day, y, yd;//y是之后的年数,yd为最后要输出的回文 int month; int h; //h用来之后代码的判断。 i
2021-12-06 14:41:35
3057
原创 递归算法解析
递归算法的大致含义 递归算法是一种直接或者间接调用自身函数或者方法的算法。说简单了就是程序自身的调用。 来方便使用。 递归算法就是将原问题不断分解为规模缩小的子问题,然后递归调用方法来表示 问题的解。(用同一个方法去解决规模不同的问题) 递归算法多用于解决的问题 1、阶乘 2、斐波纳契数列 3、杨辉三角问题 下面是两个例题的简单函数定义 阶乘 #include<stdio.h> //利用递归实现阶乘 public static long f(int n) { if(n=
2021-11-25 19:45:03
79
原创 K - 中等难度暴力(计算天数)
蒜头君给定两个日期,请计算相差的天数。比如\text{2010-1-1}2010-1-1和\text{2010-1-3}2010-1-3相差22天。 输入格式 共两行: 第一行包含三个整数startYearstartYear,startMonthstartMonth,startDaystartDay,分别是起始年、月、日。 第二行包含三个整数endYearendYear,endMonthendMonth,endDayendDay,分别是结束年、月、日。 相邻两个整数之间用单个空格隔...
2021-11-24 19:23:59
100
原创 二分法解析
二分法的使用方法与规则: 二分法属于算法的一种。二分法也叫做折半法查找。当需要进行数据量很大的查找时,往往采用二分法的方式进行查找。 而采用二分法的前提时数组已经进行了排序,也就是数组中的数是按照升序或者降序排列的。 在使用时将数组的中间值定义出来与需要查找的数进行大小的比较,如果查找数值比中间值大,那么就将数组中小于中间值的量全部删除,从而实现二分的方法。 解题思路 给定一个数组arr[] = {1,2,3,4,5,6,7,8,9} 刚开始给定 left = 1, right = 9 , 那么m
2021-11-23 20:38:35
435
原创 G - 二分法+时间复杂度(简单)
蒜头君手上有个长度为nn的数组AA。由于数组实在太大了,所以蒜头君也不知道数组里面有什么数字,所以蒜头君会经常询问整数xx是否在数组AA中。 输入格式 第一行输入两个整数nn和mm,分别表示数组的长度和查询的次数。 接下来一行有nn个整数a_iai。 接下来mm行,每行有11个整数xx,表示蒜头君询问的整数。 输出格式 对于每次查询,如果可以找到,输出"YES",否则输出"NO"。 数据范围 1 \le n, m \le 10^5, 0 \le x \l...
2021-11-22 20:44:35
488
原创 F - 约瑟夫环(简单版)
传说约瑟夫当年活下来就是靠快速计算这个问题。 nn个人围成一圈,编号依次为1,2,3\ldots n1,2,3…n。从第一个人开始报数,数到mm的人出列,再由下一个人重新从11开始报数,数到mm的人再出圈。以此类推,直到所有的人都出列。请输出依次出圈人的编号。 输入格式 两个整数n,mn,m,1\le n,m \le 1001≤n,m≤100。 输出格式 nn个用空格分隔的整数,表示出圈人的编号。 输入输出 输入 输出 6 4 4...
2021-11-18 22:50:39
451
原创 简单排序(将偶数和奇数进行排序)
蒜术师给了你一个1010个整数的序列,要求对其重新排序。 排序要求: 奇数在前,偶数在后; 奇数按从大到小排序; 偶数按从小到大排序。 输入格式 输入一行,包含1010个整数,彼此以一个空格分开,每个整数的范围是大于等于00,小于等于100100。 输出格式 按照要求排序后输出一行,包含排序后的1010个整数,数与数之间以一个空格分开。 输入输出 输入 输出 4 7 3 13 11 12 0 47 34 98 ...
2021-11-17 18:50:59
315
原创 百钱百鸡(暴力)
百钱买百鸡问题:公鸡五文钱一只,母鸡三文钱一只,小鸡三只一文钱,用100100文钱买100100只鸡,公鸡、母鸡、小鸡各买多少只? 本程序要求解的问题是:给定一个正整数nn,用nn文钱买nn只鸡,问公鸡、母鸡、小鸡各买多少只? 输入格式 输入一个正整数nn。 输出格式 如果有解,依次输出公鸡、母鸡、小鸡的个数(用正整数表示)。 如果无解,输出"No Answer."。 数据范围 1 \le n \le 2001≤n≤200 输入输出 输入 输出 100 ...
2021-11-16 17:09:03
131
原创 二进制换十进制
把一个二进制数转化为十进制数。 输入格式 第一行一个正整数n\ (1\le n\le 30)n(1≤n≤30),表示二进制数的长度。 第二行一个二进制数。 输出格式 输出一个整数,表示对应的十进制数。 输入输出示例 输入 输出 5 10101 21 解题思路 利用数组来记录输入的二进制,其次要理解二进制转化为十进制的公式。之后利用循环将结果输出。 代码 #include<stdio.h> #include<..
2021-11-16 16:23:23
612
原创 简单暴力(计算今年第几天)
题目 请你计算出xx年yy月zz日是xx年的第几天。 请注意闰年对答案的影响。 输入格式 一行三个整数,xx,yy和zz。(1583\le x\le 21001583≤x≤2100)。数据保证输入合法。 输出格式 一个整数,表示是第几天 输入输出 输入 输出 2016 3 1 61 1900 3 1 60 思路 利用非常简单的判断和定义来粗暴的计算具体的天数。 代码 #include...
2021-11-15 20:46:03
58
原创 简单排序(升序)
蒜头君给了一个长度为NN(不大于500500)的正整数序列(正整数的值不超过NN),请将其中的所有奇数取出,并按升序输出。 输入格式 共22行: 第11行为NN; 第22行为NN个正整数,其间用空格间隔。 输出格式 增序输出的奇数序列,数据之间以逗号间隔。数据保证至少有一个奇数。 输入示例 10 1 3 2 6 5 4 9 8 7 10 输出示例 1,3,5,7,9 解题思路 可以采用冒泡排序,设置两个数组,输入n,设置循环将数组输入第一个数组中并且将其中的...
2021-11-14 16:22:44
99
原创 将最小值于第一位数交换位置
描述 先输入n表示有n个数字,再在下一行输入这n个数。找出其中最小的数,并与第一个值交换。若第一个数为最小值则不交换。 解题思路 因题目要求,首先循环输入n个数,后逐个比较找到最小值,最后与第一个数交换,输出 输入示例 输入 输出 3 3 2 1 1 2 3 代码 #include<stdio.h> int main(){ int n,a[100],i,x=0,min; scanf("%d\n",&n); f
2021-11-09 17:03:14
175
原创 逢七过笔记
描述: 一群人围坐一圈拍手。 游戏规则是:从1开始报数,若遇到7的倍数或者个位为7的数则击掌代替,若犯错则要受罚。 可是这些人都太聪明了,竟然没人犯错! 请问同样聪明的你,现在当报数到 n 时,击掌共次数 c 是多少? 输入示例 输入 输出 21 4 解题思路 分析思路:判断n是否大于70,以70为周期,计算相应的个数,计算剩下n%70的数字中,是否满足题意输出满足题意的个数 。 题目要求统计个位数是7或者被7整除的数字,那么可以得到以下规律,以70为一个周期,就会有16
2021-11-09 16:56:17
2297
原创 找大小笔记
描述 首先输入整数N(0<=N<=1000),紧接着在下一行连续输入N个数。 之后对输入的N进行判断 最后输出这一组数的最小数,和最大数。
2021-10-23 11:21:22
59
原创 插入排序笔记
#include<stdio.h> int main(void){ int n;//定义一个个数n scanf("%d",&n);//输入一个数使它是n if(n==1){//如果n等于1那么输出0 printf("0\n0"); }else if(n>=2){//如果输入的数大于等于2,那么进入循环 double a[n];//定义一个个数为n的字符串a int i; for(i=0;i<n;i++){ scanf("%lf",&...
2021-10-23 10:20:13
65
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人