这里我们将了解如何使用 C 生成空心金字塔和菱形图案。我们可以很容易地生成实心金字塔图案。要使其为空心,我们必须添加一些技巧。空心金字塔对于金字塔的第一行,它将打印一个星号,对于最后一行,它将打印 n 个星号。对于其他行,它将分别在行的开头和结尾打印两个星号,并且这两个星号之间将有一些空格。示例代码#include int main() { int n, i, j; printf("输入行数: ... 阅读更多
带进位的乘法方法是 Marsaglia 和 Zaman (1991) 引入的带进位加法生成器的变体。这种方法的主要优点是它调用简单的计算机整数算术,并导致非常快速地生成具有巨大周期的随机数序列,范围从大约 260 到 22000000。在 MWC 中,基数 b 被选择等于计算机字长,乘数 a 和延迟 r 确定模数 p = abr−1。这里,a 被选择使得模数为素数,并且乘数具有长周期。算法开始声明最大_序列_元素、b、r、c[最大_序列 ... 阅读更多
PGM 是可移植灰度图。如果我们想将 C 中的二维数组存储为 PNG、JPEG 或任何其他图像格式的图像,我们必须在写入文件之前执行大量工作才能以某种指定格式对数据进行编码。Netpbm 格式提供了一种简单且可移植的解决方案。Netpbm 是一个开源图形程序包,主要用于 Linux 或 Unix 平台。它也适用于 Microsoft Windows 系统。每个文件以两个字节的幻数开头。此幻数用于识别文件类型 ... 阅读更多
Naor-Reingold 伪随机函数是另一种生成随机数的方法。Moni Naor 和 Omer Reingold 在 1997 年描述了用于私钥和公钥密码学中各种密码学原语的有效构造。设 p 和 l 为素数,其中 l |p−1。选择一个乘法阶为 l 的元素 g ε Fp*。然后对于每个 n 维向量 a = (a0, a1, ..., an)。他们定义函数fa(x)=ga0.a1x1a2x2…..anxn ε Fp其中 x = x1 … xn 是整数 x 的位表示,0 ≤ x ≤ 2 n−1此函数可用作许多密码学方案的基础,包括对称加密, ... 阅读更多