C/找到190! C 编程中的(阶乘)

2024-04-09

我尝试寻找190! in C.

我将变量定义为 long double,但我发现它(正确)仅计算为 172!:

之后,我得到了#INF00000...`

有什么办法可以做到吗?


实际上只需几行代码即可实现足够的 bigint 实现来计算阶乘。下面的代码打印前 200 个阶乘。

#include <stdio.h>

int mult(int n, size_t size, unsigned char *data) {
    int carry = 0;
    for (int i = 0; i < size; i++) {
        int result = data[i] * n + carry;
        data[i] = result % 100;
        carry = (result - data[i]) / 100;
    }
    return carry != 0;
}

void print(size_t size, unsigned char *data) {
    int first = 1;
    for (int i = 0; i < size; i++) {
        int d = data[size - i - 1];
        if (first && d == 0) continue;
        printf("%0*d", first && d < 10 ? 1 : 2, d);
        first = 0;
    }
}

int main(int argc, char*argv[]) {
    for (int fact = 1; fact <= 200; fact++) {
        unsigned char data[1000] = {1};
        for (int i = 1; i <= fact; i++) {
            if (mult(i, sizeof(data), data)) {
                return 1;
            }
        }
        printf("%d! = ", fact);
        print(sizeof(data), data);
        printf("\n");
    }
    return 0;
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

C/找到190! C 编程中的(阶乘) 的相关文章

  • JSON.Net 反序列化返回“null”

    我正在使用 JSON Net 反序列化 JSON 字符串 JSON 字符串是 string testJson Fruits Apple color red size round Orange Pro
  • WebClient.DownloadDataAsync 冻结了我的 UI

    我在 Form 构造函数中的 InitializeComponent 之后有以下代码 using WebClient client new WebClient client DownloadDataCompleted new Downloa
  • 如何使用 ASP.NET MVC 编辑多选列表?

    我想编辑一个如下所示的对象 我希望用 UsersGrossList 中的一个或多个用户填充 UsersSelectedList 使用 mvc 中的标准编辑视图 我只得到映射的字符串和布尔值 下面未显示 我在 google 上找到的许多示例都
  • 元组在 VS2012 中如何工作?

    Visual Studio 2012 功能 tuples但不是可变参数模板 这是如何完成的 如何在不使用可变模板的情况下实现元组 简而言之 微软做了与之前在 NET 中实现类似元组的数据类型完全相同的事情 创建许多版本 每个版本都有固定数量
  • c# 从另一个类中的另一个静态事件引发事件

    需要帮助从另一个班级调用事件 我有已声明事件的课程 public class MxPBaseGridView GridView public event AddNewItemsToPopUpMenuEventHandler AddNewIt
  • XPATH 查询、HtmlAgilityPack 和提取文本

    我一直在尝试从名为 tim new 的类中提取链接 我也得到了解决方案 给出了解决方案 片段和必要的信息here https stackoverflow com questions 2982862 extracting a table ro
  • 进程退出后 POSIX 名称信号量不会释放

    我正在尝试使用 POSIX 命名信号量进行跨进程同步 我注意到进程死亡或退出后 信号量仍然被系统打开 在进程 打开它 死亡或退出后是否有办法使其关闭 释放 早期的讨论在这里 当将信号量递减至零的进程崩溃时 如何恢复信号量 https sta
  • MFC CList 支持复制分配吗?

    我在 MSVC 中查找了 CList 定义afxtempl h http www cppdoc com example mfc classdoc MFC AFXTEMPL H html并记录在MSDN http msdn microsoft
  • 如果 JSON.NET 中的值为 null 或空格,则防止序列化

    我有一个对象需要以这样的方式序列化 即 null 和 空白 空或只是空格 值都不会序列化 我不控制对象本身 因此无法设置属性 但我知道所有属性都是字符串 环境NullValueHandling显然 忽略 只能让我找到解决方案的一部分 它 似
  • 带有运算符语法的错误消息,但不带有函数语法的错误消息

    为什么我在调用 unary 时收到错误消息 使用运算符语法 如果我用函数语法调用它就可以了 现场演示 https godbolt org z j7AbeQ template
  • 如何在win32中使用GetSaveFileName保存文件?

    我编写此代码是为了获取 fileName 来保存我的文件 include stdafx h include
  • Xamarin - SignalR 挂在连接上

    我正在尝试将我的 Xamarin 应用程序连接到托管在 Azure 上的 SignalR 后端 我遇到的问题是每次我在 HubConnection 上调用 StartAsync 时 它都会挂起客户端并且请求永远不会完成 我尝试通过应用程序进
  • C++ 到 C# 事件处理

    所以我有我的C WinForm 应用程序 我从中调用我的C CLI MFC dll图书馆 但也有一些events在我的 C 库上 甚至此事件也发生在该库的本机 非 CLI 部分 我需要从我的 C 应用程序调用一些代码 并获取一些有关此事件的
  • 使用多线程进行矩阵乘法?

    我应该使用线程将两个矩阵相乘 有两件事 当我运行程序时 我不断得到 0 我还收到消息错误 对于每个错误 它在粗体行上显示 警告 从不兼容的指针类型传递 printMatrix 的参数1 我尝试打印输出 还要注意 第一个粗体块 这是我解决问题
  • ALTER TABLE ... ADD CONSTRAINT 失败时将事务回滚到保存点

    有没有办法在事务中添加检查约束and如果失败回滚到以前的保存点 而不是回滚整个事务 就我而言 当 ALTER TABLE ADD CONSTRAINT 命令失败时 事务无法回滚到保存点 尝试这样做会引发 InvalidOperationEx
  • 如何在dll级别读取app.config? [复制]

    这个问题在这里已经有答案了 我在一个解决方案中有一个控制台应用程序项目和库项目 dll The 图书馆项目有 app config 文件 我在其中存储我在库中使用的一些键值对 控制台应用程序引用此 dll 我有另一个 app config
  • C 语言中的 Alpha 混合 2 RGBA 颜色[重复]

    这个问题在这里已经有答案了 可能的重复 如何快速进行阿尔法混合 https stackoverflow com questions 1102692 how to do alpha blend fast 对 2 个 RGBA 整数 颜色进行
  • 如果“嵌入式”SQL 2008 数据库文件不存在,如何创建它?

    我使用 C ADO Net 和在 Server Management Studio 中创建的嵌入式 MS SQL 2008 数据库文件 附加到 MS SQL 2008 Express 创建了一个数据库应用程序 有人可以向我指出一个资源 该资
  • 将 char 绑定到枚举类型

    我有一段与此非常相似的代码 class someclass public enum Section START MID END vector section Full void ex for int i 0 i section
  • SQL Server“未找到网络路径”在不同环境中随机且不频繁地发生

    类似 如果不是同一个问题 随机遇到网络路径未找到异常 https stackoverflow com questions 38696448 network path not found exception encountered rando

随机推荐

  • 为什么浏览器中的 mocha 会抛出从 url 检测到的全局泄漏,而不是从 unc 路径检测到的全局泄漏?

    我正在创建一个 javascript 库并想要使用 BDD 所以我尝试了 mocha 但无法使其工作 我希望在客户端上使用该库 因此我假设让它从可浏览的 url 运行 在 Web 连接的上下文中运行是有意义的 而不仅仅是来自 unc 路径的
  • 用于分布式 DB2 数据库的 Spring Batch Reader

    我正在尝试使用 Spring 批处理框架编写一个作业 作业需要从集群 db2 数据库获取数据 对每个获取的记录调用一些逻辑 然后将转换后的数据存储在同一个数据库中 与读取数据的表不同 我正在尝试写step1如下 Bean public St
  • Mysql 之间和等于在哪里?

    我有一个mysql函数 SELECT FROM stats WHERE BETWEEN 2011 01 03 AND 2011 01 01 AND email email protected cdn cgi l email protecti
  • 如何捕获回击后返回活动的事件

    我的应用程序有一个主屏幕 然后会进入不同的屏幕 每个屏幕都会返回主屏幕 每次用户 返回 主屏幕时我都想做一些事情 我如何捕获这种事件 在您的主活动中使用 onResume 方法或通过重写子活动中的 keyDown 方法在您的活动中使用 st
  • 如何将 Firebase 数据库持久性存储限制为仅某些节点?

    将以下代码添加到AppDelegate将使 Firebase 数据库在用户离线时可用 FIRDatabase database persistenceEnabled true 我们怎样才能使数据库的某些部分在离线模式下可用 而另一些部分在用
  • 获取纸质单选按钮的值

    我有以下代码
  • UITableview 中的自动布局与动态单元格高度

    对于我的表格视图单元格的动态高度 我从此链接中引用 在 UITableView 中使用自动布局来实现动态单元格布局和可变行高 https stackoverflow com questions 18746929 using auto lay
  • Grails 和子域

    Grails 知道有关子域 即 subdomain domain com 的任何信息吗 我没有看到它在manual http grails org doc 2 0 x guide single html 这纯粹是应用程序服务器 网络服务器问
  • Pygame.mixer 模块丢失?

    我正在尝试为朋友制作一个小程序 它需要运行 wav 文件 当我在 python 中运行它时它工作正常 但是当我在 py2exe 中编译它时它给了我这个 gt phone exe 23 RuntimeWarning use mixer DLL
  • 函数参数的模式匹配

    我有一个元组向量 val l for i lt 1 to 5 yield i i 2 Vector 1 2 2 4 3 6 4 8 5 10 我想用以下方式总结一下 l reduce x y gt x 1 y 1 x 2 y 2 15 30
  • C++ 链接错误

    我有多个通过 hxx 头文件和继承连接的类 这都是关于操作系统模拟的 我单独编译它们 看看是否有任何语法错误 但事实并非如此 相反 当我编译主驱动程序 osTester cxx 时 我得到这样的链接错误 include
  • 有没有办法直接消耗人造丝链而不先收集它?

    我使用 Rayon 来产生相当大的返回值 将所有返回值收集到一个中时 这会使用大量内存Vec 有没有办法避免创建Vec并直接作为可迭代对象使用 这是一个不起作用的示例 fn main let numbers Vec lt gt 12 03
  • Python:如何修复我的代码以便追加将参数添加到列表中?

    我对 python 很陌生 我一直在尝试执行此代码 其中我使用 tkinter 按钮命令来运行函数 它可以工作 但append 没有执行 这意味着它不会附加到列表中 列表和包含附加的函数位于类外部 然后通过使用 tkinter 按钮命令在类
  • numpy.choose 的替代方案允许任意或至少超过 32 个参数?

    使用我的代码 我遇到了一个问题numpy choose方法不接受所有参数 因为它受到以下限制NPY MAXARGS 32 是否有可用的替代方案 允许任意数量的参数数组或至少超过32那是一样快numpy choose choices np a
  • 带有 UpdatePanel 回发的 ajax“正在加载”图标

    我有一个根据用户选择使用 Ajax 动态构建的表单 使用 UpdatePanel 内置于 NET Ajax 如何在回发发生时插入 标准 ajax 加载图标 也许将其附加到鼠标指针 然后在回发完成后将其删除 如果有帮助的话 我确实安装了 Aj
  • 如果存在以前的版本,如何使msi覆盖程序?

    我正在使用 Visual Studio 2010 我正在开发一个 Windows 应用程序 在尝试为其创建自动更新程序时遇到了严重的问题 当程序找到新版本并尝试安装它时 由于以下两个原因而无法安装 1 the application is
  • numpy中如何进行卷积矩阵运算?

    有办法吗卷积矩阵 https en wikipedia org wiki Kernel image processing 使用numpy进行操作 The numpy convolve https docs scipy org doc num
  • Shape、Sprite、MovieClip 和其他显示对象:何时使用?

    有大量的显示对象flash display包裹 我不清楚在什么情况下应该使用Shape Sprite or MovieClip 使用它们各自的优点和缺点是什么 先感谢您 Shape http help adobe com en US Fla
  • 通过同时/并发文件传输加速 rsync?

    我们需要转移15TB尽可能快地将数据从一台服务器传输到另一台服务器 我们目前正在使用rsync但我们只能得到大约的速度150Mb s 当我们的网络能够900 Mb s 测试与iperf 我已经对磁盘 网络等进行了测试 发现 rsync 一次
  • C/找到190! C 编程中的(阶乘)

    我尝试寻找190 in C 我将变量定义为 long double 但我发现它 正确 仅计算为 172 之后 我得到了 INF00000 有什么办法可以做到吗 实际上只需几行代码即可实现足够的 bigint 实现来计算阶乘 下面的代码打印前