avatar
文章
89
标签
24
分类
4
首页
归档
标签
分类
书影音
友链
关于
panghutx's Blog
搜索
首页
归档
标签
分类
书影音
友链
关于

panghutx's Blog

多种方法求两个正整数的最大公约数和最小公倍数
发表于2022-02-27|学习
鲁迅说过:“求解最大公约数和最小公倍数有很多方法”,公约数,就是几个数共有的约数,最大公约数,就是公约数中最大的那个数,公倍数,就是几个数共有的倍数,最小公倍数,就是公倍数中最小的那个数。虽然看起来是句废话,其实它就是废话……下面我们看一下求解最大公约数和最小公倍数的几种方法。 求任意两个正整数的最大公约数 最大公约数(Greatest Common Divisor,GCD),先说约数,a能被b整除,b就是a的约数,几个数共有的约数就是这几个数的公约数,公约数中最大的那个数就是最大公约数。举个例子,4和20的公约数有1,2,4,最大公约数是4。可见两个数的最大公约数必不大于两数中最小的那个。 思路一:如果求出最大公约数,穷举法从小到大(从1到两数中较小的一个)遍历,然后输出最大的那个,这样做比较麻烦,不妨我们从大到小(从两数中较小的一个到1)遍历,第一个能同时整除两个数的那个即为所求。 123456789101112131415161718192021222324int main(){ int a = 0; int b = 0; int tmp = 0; int i ...
Visual Studio环境下一段有趣的代码
发表于2022-02-26|学习
1234567891011int main(){ int i = 0; int arr[10] = { 0 }; for (i = 0; i <= 12; i++) { arr[i] = 0; printf("youngsay.cn\n"); } return 0;} 观察这段代码,运行会有何效果? 你可能会说,既然越界访问了,那不就报错了?其实不然,运行发现,程序没有报错,一直死循环。 注意:该段代码依赖环境,vs编译器,debug模式,x86平台下才有这样的效果。 为什么陷入了死循环,这要从栈区的使用习惯开始说起。静态变量,函数形参都存放到栈中,而栈是从高地址开始存放。**栈区的使用习惯是先使用高地址处的空间。**我们还知道,**数组随着下标变大,地址是由低到高变化的。**所以上段代码在栈中的内存布局,如下图所示。 vs编译器,debug模式,x86平台下,i和数组arr间刚好空了2个下标的空间。所以i和arr[12]指向了同一块地址,不信我们可以调试看一下i和arr[12]的地址。...
C语言实现简单的扫雷游戏
发表于2022-02-09|分享
《扫雷》是一款大众类的益智小游戏,游戏目标是在最短的时间内根据点击格子出现的数字找出所有非雷格子,同时避免踩雷,踩到一个雷即全盘皆输。 这篇博客教大家用C语言制作一个简易版扫雷游戏,和之前的井字棋大同小异。 我们准备三个文件,分别为game.c,test.c,game.h game.c文件用来写实现游戏功能的各个函数代码,test.c文件写游戏的总流程,game.h文件用来声明函数和初始值. 先看test.c,由menu()``game()``main()三个函数组成。 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051#include"game.h"menu(){ printf("--------------------\n"); printf("-----1.开始游戏-----\n"); printf("-----2.退出游戏-----\n"); p...
C语言实现简单的井字棋游戏
发表于2022-01-25|分享
井字棋,英文名叫Tic-Tac-Toe,是一种在3*3格子上进行的连珠游戏,和五子棋类似,由于棋盘一般不画边框,格线排成井字故得名。 想必大家小时候都玩过井字棋,今天分享大家一个用C语言做简单的井字棋游戏的教程,通过井字棋游戏,既能回忆起童年的美好,也能熟悉简单的C语言语法. 游戏演示: 我们准备三个文件,分别为game.c,test.c,game.h game.c文件用来写实现游戏功能的各个函数代码,test.c文件写游戏的总流程,game.h文件用来声明函数和初始值. 先来看test.c文件 文件内有三个函数,分别为菜单,游戏,主函数. 1234567void menu(){ printf("-----------------------\n"); printf("--------1.开始游戏-----\n"); printf("--------2.退出游戏-----\n"); printf("-----------------------\n");} 菜单很简单,就是开...
【C语言】分支和循环语句常见问题
发表于2022-01-16|学习
分支语句 if-else语句 12345678910111213#include <stdio.h>int main(){ int a = 0; int b = 2; if (a == 1) if (b == 2) printf("hello\n"); else printf("panghu\n"); return 0;}//输出结果: 123456789101112131415#include <stdio.h>int main(){ int a = 0; int b = 2; if (a == 1) if (b == 2) printf("hello\n"); else printf("胖虎\n"); else printf("panghu\n"); ...
【JavaSE】类和对象
发表于2022-01-14|学习
类的成员:字段、方法、代码块、内部类和接口等 字段 1234class Person{ public int age; public String name; public String sex; age,name,sex这些类中方法外的变量,是字段、属性、成员变量(3种称呼均可) 123456789public class TestDemo { public static void main(String[] args) { //类的实例化 Person person=new Person(); System.out.println(person.name);//null System.out.println(person.age);//0 }} 对象的字段如果没有初始化,访问时会被设置成默认值。 默认值规则 对于各种数字类型, 默认值为 0. 对于 boolean 类型,默认值为 false. 对于引用类型(Str...
【JavaSE】数组的定义和使用
发表于2022-01-12|学习
一维数组 一维数组的定义 123int[] arr={1,2,3,4,5}; //静态创建int[] arr1=new int[]{1,2,3,4,5}; //动态创建int[] arr2=new int[5]; 一维数组的遍历 method 1: 123for (int i = 0; i < arr.length; i++) { System.out.print(arr[i]);} method 2: 123for (int x:arr) { System.out.print(x);} method 3: 1System.out.println(Arrays.toString(arr)); 理解引用 int[] arr=new int[]{1,2,3}创建一个数组,变量arr是一个引用类型,里面只保存了一个整数(数组的起始内存地址),指向{1,2,3}的存储地址。 引用,本质上就是存放了一个地址。当数组作为方法的参数时,其实是将数组的首地址...
【C语言】基础语法的简单概括
发表于2022-01-08|学习
数据类型 为了更加丰富地表达生活中的各种值,C语言中有不同的数据类型。每个数据类型有其占用空间的大小。我们用sizeof可以获取某个数据类型所占用空间的字节数。 下面这段代码: 1234567printf("%d", sizeof(char));printf("%d", sizeof(short));printf("%d", sizeof(int));printf("%d", sizeof(long));printf("%d", sizeof(long long));printf("%d", sizeof(float));printf("%d", sizeof(double)); 在vs2019运行时,输出结果是:1244848 在linux平台运行时,结果是:1248848 对比发现,long在不同的编译器结果不同。c语言并没有规定long的大小,只是规定了sizeof(long)>=sizeof(int)。 变量的作用域和生命周期 ...
2021年度总结
发表于2022-01-01|感想
2022年来了,我又长大了一岁。 过去这一年,有快乐有失落,有收获有遗憾。 伤感的话不再说,遗憾的事不再提,新的一年继续好好生活。 等等,在好好生活之前还是写一下年终总结吧,虽然今天已经是2022年…… 回顾过去的这一年,**每一天都很平常,有时很快乐,有时会难过,也许有成长,难免有遗憾。**就在这平凡的一天又一天中,平凡的我又长大了一岁。 我没有写日记的习惯,很多事过去了就过去了,也许以后就再也不会想起。比如现在我想写一个年度总结,我不知道写些什么。好在有这样一个博客,或多或少能留存一些当时的记忆。 2021年3月29日,新博客建成,发布第一篇博客: 新学期,新博客,新开始! 在此之前也搭建过其他博客,总是写着写着感觉没啥意思,最终都删库跑路了。这是我持续时间最长的博客,我会一直让它活下去(希望别被打脸)。 回看第一篇博客,感慨万千。当时写到“我想学计算机相关专业,但无奈被调剂到了应用物理”,现在我已经是计算机科学与技术专业的学生了,2021/9/17 收到了转专业成功的消息,这个可以算是今年很开心的一件事。当时我提到“一直对编程感兴趣,尤其是前端”,现在我已经俩月没...
【JavaSE】方法及递归的使用
发表于2021-11-23|学习
初识方法 Java中的方法类似于c语言中的函数 观察下面代码,体会方法的好处。 123456789101112//求两个数的最大值public static int maxTwoNum(int a,int b) { return a>b ? a : b;}//求三个数的最大值public static int maxThreeNum(int a,int b,int c) { int max=maxTwoNum(a,b); return maxTwoNum(max,c);}public static void main(String[] args) { int a=10,b=23,c=4; System.out.println(maxThreeNum(a,b,c)); 灵活使用方法,可以减少重复代码,使代码更简单。 实参、形参的关系 Java当中只有按值传递 分析如下代码:交换两个整型变量 12345678910111213public static void swap(int x,int y)&...
1…345…9
avatar
panghutx
时间证明一切
文章
89
标签
24
分类
4
最新文章
博客评论系统迁移:从 Valine 到 Waline2026-04-26
豆瓣 RSS + Hexo:打造自动同步的书影音记录页2026-04-26
近期碎碎念2026-03-22
养一只OpenClaw小龙虾2026-03-07
如何将Hexo部署至服务器2026-01-02
分类
  • 分享8
  • 学习69
  • 感想8
  • 阅读4
标签
IO linux 自动化 css 索引 JavaSE openclaw 思考 多线程 Python python 数据结构和算法 c 年终总结 阅读 JavaWeb MySQL html 事务 socket Vue.js hexo JavaScript yaml
归档
  • 四月 2026 2
  • 三月 2026 2
  • 一月 2026 1
  • 十二月 2025 1
  • 一月 2024 1
  • 一月 2023 1
  • 十一月 2022 7
  • 十月 2022 1
网站信息
文章数目 :
89
运行时间 :
本站总字数 :
100.7k
最后更新时间 :
panghutx's Blog
我是胖虎同学,是一名北漂打工仔,博客涉及心得感悟、学习笔记、编程等内容,感谢来访。
© 2025 By panghutx | Powered by Hexo | Theme by Butterfly
快速链接
首页归档分类关于
个人作品
mindmirror-AI日记codegogo-编程教程
搜索
数据加载中