Tag: 大号

Pascal在C中的三角形

我是一名计算机工程专业的学生,​​下学期我将开始C课程。 所以为了让自己做好准备,我已经开始自己学习C并偶然发现了一个有趣的任务,专为我看来,一见钟情,而不是一个非常先进的水平。 任务是编写一个程序来计算Pascal三角形中给定位置的值。 并且计算它的公式被写为element = row! /(位置!*(行 – 位置)!) 我写了一个简单的控制台程序似乎工作正常,直到我用大数字测试它。 当使用第16行和第3行尝试此程序时,它会将值计算为0,尽管很明显不存在这样的值(实际上它应该将值计算为560),此三角形的所有单元格都应该是是整数,大于一。 我想我在存储和处理大数字时遇到了问题。 阶乘函数似乎工作正常,我使用的公式一直有效,直到我尝试大数 到目前为止,这里找到了最好的解决方案 – 如何printf unsigned long long int(unsigned long long int的格式说明符)? 使用类型为uint64_t的inttypes.h库但它仍然没有给我我需要的结果。 #include #include #include void clear_input(void); uint64_t factorial(int x); int main() { // Printing printf(“This program computes the value of a given position in Pascal’s Triangle.\n”); printf(“You will be asked for row […]

如何编写解决方案以处理大量数据?

我正在做一些Project Euler问题,而且大多数时候,计算涉及超出int,float,double等的大量数字。 首先,我知道我应该寻找更有效的计算方法,以避免出现大量问题。 我听说过Bignum图书馆。 但是,对于学术界的兴趣,我想知道如何编写我自己的解决方案来解决这个问题。 任何专家都可以帮帮我吗? (我的语言是C)