自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(20)
  • 收藏
  • 关注

原创 世界对称日

对称日计算计算x年到y年之间的对称日,即年月日倒过来依旧为原数。思路由题意可得需计算出该年是否为闰年以及月份变化导致的天数变化,并利用循环计算出该年月日是否为对称日#include<stdio.h>int main(){ int x,y,year=0,month=0,day=0,m=0,n=0,j=0,a=0,b=0,c=0,t=0;//定义 scanf("%d%d",&x,&y); for(year=x;year<=y;year++){ for(m=0

2021-12-05 20:53:06 475

原创 递归算法理解

递归递归指的是在函数的定义中使用函数自身的方法。条件可以通过递归调用来缩小问题规模,且新问题与原问题有着相同的形式。(自身调用)存在一种简单情境,可以使递归在简单情境下退出。(递归出口)如何理解递归是函数在定义时利用自身的方法,例如for函数便可以改为递归函数,因为for函数在运算过程中也利用了自身函数。假设需求出n的阶乘时利用for函数时从1开始到n不断相乘,而递归思想是假设需求出n的阶乘需给出n-1的阶乘再此基础上乘以n即可,依次向下类推那么只需有1的阶乘便可求出n的阶乘。同时在每次求

2021-11-25 10:28:25 537

原创 二分思想(稍简单)

二分思想(稍简单)蒜头君手上有个长度为 n 的数组 A。由于数组实在太大了,所以蒜头君也不知道数组里面有什么数字,所以蒜头君会经常询问在数组 A 中,大于等于 x 的最小值是多大?输入格式第一行输入两个整数 n和 m,分别表示数组的长度和查询的次数。接下来一行有 n 个整数 a_ii​。接下来 m行,每行有 1 个整数 x,表示蒜头君询问的整数。输出格式对于每次查询,如果可以找到,输出这个整数。否则输出 -1。数据范围1≤n,m≤10^5,0≤x≤10^6Sample Inpu

2021-11-24 23:52:25 218

原创 二分法的理解

二分法简单理解将一个以经排列好的数列(从小到大)从中间拆分并进行比较,再将目标所在的一部分数组重新当作新的数组拆分直到找到所需数的方法。二分法具体过程先定义一个数组str[n],令left=0,right=n-1,则mid = (low+ high) /2 ,将需寻找的数m与str[mid]进行比较,若m>str[mid]则舍去左边令left=mid+1,相反则right=mid-1.随后再次重复进行比较直到得到寻找数为止。代码如下;quickSort(0,x,str1); for(i

2021-11-23 19:41:51 877

原创 时间复杂度

时间复杂度简单理解时间复杂度就是用来方便开发者估算出程序的运行时间。详细理解1.同一个算法的时间复杂度不是一成不变的,和输入的数据形式有关系。随着数据规模n的增大,算法执行时间的增长率和f(n)的增长率相同,这称作为算法的渐近时间复杂度,简称时间复杂度,记为 O(f(n))。2.什么是大O在数学上大O用于描述函数渐进行为的数学符号,更确切地说,它是用另一个(通常更简单的)函数来描述一个函数数量级的渐近上界。计算机中大O用来表示上界的,当用它作为算法的最坏情况运行时间的上界,就是对任意数据输

2021-11-23 19:29:38 298

原创 二分法+时间复杂度(简单)

二分法+时间复杂度(简单)蒜头君手上有个长度为 n 的数组 A。由于数组实在太大了,所以蒜头君也不知道数组里面有什么数字,所以蒜头君会经常询问整数 x 是否在数组 A 中。输入格式第一行输入两个整数 n和 m,分别表示数组的长度和查询的次数。接下来一行有 n个整数 ai​。接下来 mm 行,每行有 11 个整数 xx,表示蒜头君询问的整数。输出格式对于每次查询,如果可以找到,输出"YES",否则输出"NO"。数据范围n, m 1≤n,m≤10 ^5,0≤x≤10 ^6Sample

2021-11-22 22:43:21 429

原创 约瑟夫环(简单版)

约瑟夫环(简单版)传说约瑟夫当年活下来就是靠快速计算这个问题。n 个人围成一圈,编号依次为 1,2,3…n。从第一个人开始报数,数到 m 的人出列,再由下一个人重新从 1开始报数,数到 m 的人再出圈。以此类推,直到所有的人都出列。请输出依次出圈人的编号。输入格式两个整数 n,m,1≤n,m≤100。输出格式n个用空格分隔的整数,表示出圈人的编号。输入6 4输出4 2 1 3 6 5思路根据题中所给条件,n>=1,m<=100可得可利用数组进行计算,因为需输出出圈人的序号

2021-11-20 19:34:31 226

原创 蒜术师给了你一个 10 个整数的序列,要求对其重新排序。排序要求:

蒜术师给了你一个 10 个整数的序列,要求对其重新排序。排序要求:奇数在前,偶数在后;奇数按从大到小排序;偶数按从小到大排序。输入格式输入一行,包含 10个整数,彼此以一个空格分开,每个整数的范围是大于等于 0,小于等于 100。输出格式按照要求排序后输出一行,包含排序后的 10 个整数,数与数之间以一个空格分开。输入4 7 3 13 11 12 0 47 34 98输出47 13 11 7 3 0 4 12 34 98思路根据题意可得依次输入10个数字并进行排列,故需利用数组输入

2021-11-18 21:12:26 2752

原创 用 100 文钱买 100 只鸡,公鸡、母鸡、小鸡各买多少只?

百钱买百鸡问题:公鸡五文钱一只,母鸡三文钱一只,小鸡三只一文钱,用 100 文钱买 100 只鸡,公鸡、母鸡、小鸡各买多少只?本程序要求解的问题是:给定一个正整数 n,用 n 文钱买 n 只鸡,问公鸡、母鸡、小鸡各买多少只?输入格式输入一个正整数 n。输出格式如果有解,依次输出公鸡、母鸡、小鸡的个数(用正整数表示)。如果无解,输出"No Answer."。数据范围1≤n≤200输入100输出0 25 754 18 788 11 8112 4 84思路根据题意可得到三种鸡的价

2021-11-17 19:49:41 1049

原创 二进制换十进制(简单)

二进制换十进制(简单)把一个二进制数转化为十进制数。输入格式第一行一个正整数 n\ (1\le n\le 30)n (1≤n≤30),表示二进制数的长度。第二行一个二进制数。输出格式输出一个整数,表示对应的十进制数。输入510101输出21思路由题意可得输入正整数的长度最长为30故不能用int定义y应用getchar定义,将y当成字符串输入并进行判断并得出结果。#include<stdio.h>#include<math.h>int main(){

2021-11-16 18:28:14 1275 1

原创 B - 简单暴力(计算今年第几天)

B - 简单暴力(计算今年第几天)请你计算出 xx 年 yy 月 zz 日是 xx 年的第几天。请注意闰年对答案的影响。输入格式一行三个整数,xx,yy 和 zz。(1583\le x\le 21001583≤x≤2100)。数据保证输入合法。输出格式一个整数,表示是第几天。输入2016 3 1输出61输入1900 3 1输出60思路由题意得需计算给出年月日在该年的天数故需利用if判断考虑闰年平年,即闰年可以整除4不能够整除100或者能整除400.以及月份不同天数不同,为简便

2021-11-15 19:20:30 230

原创 蒜头君给了一个长度为 NN(不大于 500500)的正整数序列(正整数的值不超过 NN),请将其中的所有奇数取出,并按升序输出。

蒜头君给了一个长度为 NN(不大于 500500)的正整数序列(正整数的值不超过 NN),请将其中的所有奇数取出,并按升序输出。#include<stdio.h>int main(){ int n,i=0,a=0,m[500],num[500]; scanf("%d",&n);//输入N for(i=0;i<n;i++){ scanf("%d",&m[i]); if(m[i]%2!=0){ num[a]=m[i];//利用循环将奇数数列存到num

2021-11-14 18:20:14 1442

原创 从键盘输入一些整数,求出它们的平均值。数据的个数事先不确定,在输入过程中以ctrl+z键(EOF)作为输入结束的标记。

标题从键盘输入一些整数,求出它们的平均值。数据的个数事先不确定,在输入过程中以ctrl+z键(EOF)作为输入结束的标记。解题思路注意到可能输入的整数为负值故应用double给n定义。#include<math.h>int main(){ int i;double a=0.0,b=0.0,n; while(scanf("%lf",&n)!=EOF){ a=a+n; i++;} printf("%.2lf\n",b=a/i); return 0;}

2021-11-09 15:20:05 3349

原创 输入学生的N个成绩,计算总分。

标题输入学生的N个成绩,计算总分。(输入n表示有n个成绩,再输入成绩)解题思路先利用循环输入n个成绩再进行计算。#include<stdio.h>#include<math.h>int main(){int n,i,m,a=0; scanf("%d",&n);for(i=1;i<=n;i++){scanf("%d",&m); a=a+m; } printf("%d\n",a); return 0;}...

2021-11-09 14:55:48 1993

原创 输入一个字符串并原样输出。

标题输入一个字符串并原样输出。解题方法定义好字符串的长度并输出。熟练使用putchar语法结构。putchar语法结构为 int putchar(int char) ,其功能是把参数 char 指定的字符(一个无符号字符)写入到标准输出 stdout 中,为C 库函数 ,包含在C 标准库 <stdio.h>中。其输出可以是一个字符,可以是介于0~127之间的一个十进制整型数(包含0和127),也可以是用char定义好的一个字符型变量。 [1-2]#include<stdio.h

2021-11-09 14:46:41 5407

原创 求1到n阶乘的和。

标题求1!+2!+3!+…+n!的和。##解题思路先计算单个阶乘的集在进行相加。#include<stdio.h>#include<math.h>int main(){int n;int i,a;double sum=2.0,e; \\先给sum赋值以便进行接下来的运算 scanf("%d",&n);for(i=1;i<=n;i++){ \\i从1开始加到n即进行n次相加。 sum=sum+e; \\

2021-11-09 14:38:36 2268

原创 输入整数n(0<=n<=1000),紧接着在下一行连续输入n个数。随后输出这一组数的最小值和最大值。

标题输入整数n(0<=n<=1000),紧接着在下一行连续输入n个数。随后输出这一组数的最小值和最大值。##解决方法根据题意输入n个数可以用循环思想,并用if语句进行比较判断,最后进行输出。代码如下#include<stdio.h>int main(){ int n; double num,max,min; \\题中提示可以有小数和负数故用double。 scanf("%d",&n);if(n==1){ \\当只输入一个数时无最

2021-11-09 14:26:43 1720

原创 报数逢7过

问题描述:一群人围坐成一圈玩报数的游戏。‪‬‪‬‪‬‪‬‪‬‮‬‭‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‮‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‭‬游戏规则是:从1开始报数,若遇到7的倍数或者个位为7的数则击掌代替,若犯错则要受罚。‪‬‪‬‪‬‪‬‪‬‮‬‭‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‮‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‭‬

2021-11-07 17:36:42 3326

原创 给定整数n,计算n的阶乘值并输出。

问题描述:给定整数n,计算n!的值并输出。原因分析:由题可得需计算n的阶乘即,123*…*n解决方案:#include<stdio.h>int main(){int n,i,a;scanf("%d",&n);for(i=1;i<=n;i++){a=i*a;}printf("%d\n",a);return 0;}#分析先设置变量即int n,i,a;设置变量为i令i<n并利用循环进行阶乘,即#include<stdio.h>i

2021-11-07 17:23:52 2321

原创 输入一个正整数n(1 < n < 100),再输入n个整数,将最小数与第一个数交换(若最小数就在第一位,不需要交换),输出交换后的n个数。‪‬‪‬‪‬‪‬‪‬‮‬‭‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‪

`在这里插入代码片项目场景:提示:这里简述项目相关背景:例如:项目场景:示例:通过蓝牙芯片(HC-05)与手机 APP 通信,每隔 5s 传输一批传感器数据(不是很大)问题描述:提示:这里描述项目中遇到的问题:例如:数据传输过程中数据不时出现丢失的情况,偶尔会丢失一部分数据APP 中接收数据代码:@Override public void run() { bytes = mmInStream.read(buffer); mHa

2021-11-07 17:06:43 5684 1

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除