我在处理大整数(10 ^ 8和10 ^ 16(区间之间的数字总和)时遇到麻烦)。我当前的代码不是AC。它正在获得80/100的接受度,我猜是因为极限溢出?还有其他避免数组操作的方法吗?如果没有,我该如何解决数组加减的以下问题?
问题:塔斯尼姆(Tasnim)来参观因荔枝生产而闻名的迪纳杰布尔(Dinajpur)。今天,她来到荔枝园,发现了一件奇怪的事。果园所有者将荔枝放入一些不同大小的桶中,这些桶成排排列,这样,每个下一个桶都比前一个桶多容纳一个荔枝。她还了解到,最小的存储桶恰好包含M个荔枝,最大的存储桶恰好包含N个荔枝。 Tasnim很想知道所有水桶里有多少荔枝。但是,她并不是数学专家。而且,她也不知道有多少个水桶。因此,她正在寻求您的帮助。现在,您的任务是帮助Tasnim确定存储桶的数量以及存储桶中包含的荔枝的总数。
让我举个例子,最小的水桶恰好有5个荔枝,最大的水桶恰好有11个。因此,在7个水桶中总共有5 + 6 + 7 + 8 + 9 + 10 + 11 = 56个荔枝。
输入在每个输入文件中将有多个测试用例,其中每个测试用例包含两个整数M和N(0 当M和N都等于零(即M为0且N为0时,输入文件将终止,并且每个输入文件最多包含100个测试用例。 输出
#include <stdio.h> #include<string.h> int main(){ long unsigned int m,n,i=0,num,x=0, total; while(x<100){ scanf("%lu %lu",&m,&n); if(m==0 && n==0){ break; } else{ num=(n+1)-m; total=(num*(m+n))/2; printf("%lu %lu\n",num,total); } x++; } return 0; }```
我在处理大整数(10 ^ 8和10 ^ 16(区间之间的数字总和)时遇到麻烦)。我当前的代码不是AC。我猜它正在获得80/100的接受度]
以下建议的代码: