HeZephyr

HeZephyr's Blog

日拱一卒无有尽,功不唐捐终入海

HeZephyr's GitHub chart

如何使用C语言从一定范围内生成随机整数?

出处

如何使用C语言生成随机数?例如希望生成一段特定范围的随机数,如$[1,6]$来模拟掷骰子。

到目前为止,所有答案在数学上都是错误的。返回 rand() % N 并不统一给出 [0, N) 范围内的数字,除非 N 除以 rand() 返回的区间长度(即是 2 的幂)。此外,我们不知道 rand() 的模数是否独立:它们有可能是 0, 1, 2, ... ,这是均匀的但不是很随机。唯一似乎合理的假设是 rand() 给出泊松分布:任何两个相同大小的非重叠子区间均可能且独立。对于一组有限的值,这意味着均匀分布,并且还确保 rand() 的值很好地分散。

Linux Execve函数详解

1 基本介绍

1
2
#include <unistd.h>
int execve(const char *pathname, char *const argv[], char *const envp[]);
  • 描述

    execve()执行由pathname引用的程序。这会导致当前由调用进程运行的程序被一个新程序替换,该新程序具有新初始化的堆栈、堆和(已初始化和未初始化)数据段。

2023年年终总结

在2023年,我感觉自己好像没做太多有意义的事,一直处于一种无法进入状态的状态,留下了不少遗憾。例如上半年,我原本计划去实习,但总是担心学校这边有事情需要处理。另外,由于没有早早确定自己的职业方向,我对科研抱有一些幻想,曾经认为未来可能会从事学术工作,就想着不参加实习了。然而,实际上,我发现我的情况并不适合攻读博士学位。清楚了自己的定位,现在的目标就是好好学技术,顺利毕业,能够进入大厂就好。

雪韵初见·南京初雪

2023年12月18日,南京下了一整天的雪,雪花纷纷,如诗如画。白茫茫的世界,仿佛是一片纯净的画布,被雪的柔美覆盖。而在南航校园里,这场雪更添了一份独特的美丽。南航的雪景如同童话般迷人,树木被白雪裹挟着,建筑物顶部披上了银装,仿佛置身于梦幻世界。学生们穿梭在雪花飞舞的空间,踏出一串串有趣的足迹,留下了一段段温暖的回忆。

Go 语言优秀资源整理,为项目落地加速🏃

Go 语言优秀资源整理,为项目落地加速🏃

转载分享,出处如下,谢谢 😆

原文地址: https://shockerli.net/post/go-awesome

GitHub: https://github.com/shockerli/go-awesome


官网: https://golang.org

国内官网镜像(访问快): https://golang.google.cn

GitHub: https://github.com/golang/go

开发者平台: https://go.dev

Wiki: https://github.com/golang/go/wiki

官方博客: https://blog.golang.org

1 指导原则

  • 简单性

遵循最佳实践,各种语言实现设计模式的模版

23种设计模式分类如下:

模式类型描述包括的模式
创建型模式这些设计模式提供了一种在创建对象的同时隐藏创建逻辑的方式,而不是使用 new 运算符直接实例化对象。这使得程序在判断针对某个给定实例需要创建哪些对象时更加灵活。工厂模式(Factory Pattern)
抽象工厂模式(Abstract Factory Pattern)
单例模式(Singleton Pattern)
建造者模式(Builder Pattern)
原型模式(Prototype Pattern)
结构型模式这些设计模式关注类和对象的组合。继承的概念被用来组合接口和定义组合对象获得新功能的方式。适配器模式(Adapter Pattern)
桥接模式(Bridge Pattern)
过滤器模式(Filter、Criteria Pattern)
组合模式(Composite Pattern)
装饰器模式(Decorator Pattern)
外观模式(Facade Pattern)
享元模式(Flyweight Pattern)
代理模式(Proxy Pattern)
行为型模式这些设计模式特别关注对象之间的通信,即对象之间的行为。责任链模式(Chain of Responsibility Pattern)
命令模式(Command Pattern)
解释器模式(Interpreter Pattern)
迭代器模式(Iterator Pattern)
中介者模式(Mediator Pattern)
备忘录模式(Memento Pattern)
观察者模式(Observer Pattern)
状态模式(State Pattern)
空对象模式(Null Object Pattern)
策略模式(Strategy Pattern)
模板模式(Template Pattern)
访问者模式(Visitor Pattern)

设计模式的六大原则是软件设计中的基石,它们为构建灵活、易于维护和升级的软件系统提供了指导。以下是对这六大原则的简要说明:

0%