我的杭电ACM2028哪里错了程序自己运行了几个例子都没问题,但是在杭电里用C语言提交上去就是WA…… 高手帮看下哪里出问题了…… 题目是 求n个数的最小公倍数. 输入包含多个测试实例,每个
来源:学生作业帮助网 编辑:作业帮 时间:2024/07/04 17:29:45
![我的杭电ACM2028哪里错了程序自己运行了几个例子都没问题,但是在杭电里用C语言提交上去就是WA…… 高手帮看下哪里出问题了…… 题目是 求n个数的最小公倍数. 输入包含多个测试实例,每个](/uploads/image/z/13384132-52-2.jpg?t=%E6%88%91%E7%9A%84%E6%9D%AD%E7%94%B5ACM2028%E5%93%AA%E9%87%8C%E9%94%99%E4%BA%86%E7%A8%8B%E5%BA%8F%E8%87%AA%E5%B7%B1%E8%BF%90%E8%A1%8C%E4%BA%86%E5%87%A0%E4%B8%AA%E4%BE%8B%E5%AD%90%E9%83%BD%E6%B2%A1%E9%97%AE%E9%A2%98%2C%E4%BD%86%E6%98%AF%E5%9C%A8%E6%9D%AD%E7%94%B5%E9%87%8C%E7%94%A8C%E8%AF%AD%E8%A8%80%E6%8F%90%E4%BA%A4%E4%B8%8A%E5%8E%BB%E5%B0%B1%E6%98%AFWA%E2%80%A6%E2%80%A6+%E9%AB%98%E6%89%8B%E5%B8%AE%E7%9C%8B%E4%B8%8B%E5%93%AA%E9%87%8C%E5%87%BA%E9%97%AE%E9%A2%98%E4%BA%86%E2%80%A6%E2%80%A6+%E9%A2%98%E7%9B%AE%E6%98%AF+%E6%B1%82n%E4%B8%AA%E6%95%B0%E7%9A%84%E6%9C%80%E5%B0%8F%E5%85%AC%E5%80%8D%E6%95%B0.+%E8%BE%93%E5%85%A5%E5%8C%85%E5%90%AB%E5%A4%9A%E4%B8%AA%E6%B5%8B%E8%AF%95%E5%AE%9E%E4%BE%8B%2C%E6%AF%8F%E4%B8%AA)
我的杭电ACM2028哪里错了程序自己运行了几个例子都没问题,但是在杭电里用C语言提交上去就是WA…… 高手帮看下哪里出问题了…… 题目是 求n个数的最小公倍数. 输入包含多个测试实例,每个
我的杭电ACM2028哪里错了
程序自己运行了几个例子都没问题,但是在杭电里用C语言提交上去就是WA…… 高手帮看下哪里出问题了…… 题目是 求n个数的最小公倍数. 输入包含多个测试实例,每个测试实例的开始是一个正整数n,然后是n个正整数. 为每组测试数据输出它们的最小公倍数,每个测试实例的输出占一行.你可以假设最后的输出是一个32位的整数. PS.我main函数里的变量 j 是用来保存最后结果的,c是用来保存n个数的乘积的 #include typedef unsigned long ul; int main() { int n; ul a,b,c,j; while(scanf("%lu",&n)!=EOF) { c=1; scanf("%lu %lu",&a,&b); c=a*b; a=gcd(a,b); n-=2; while(n--) { scanf("%lu",&b); c=c*b; a=gcd(a,b); } j=c/a; printf("%lu\n",j); } return 0; } ul gcd(ul a,ul b) { ul r; if(a
我的杭电ACM2028哪里错了程序自己运行了几个例子都没问题,但是在杭电里用C语言提交上去就是WA…… 高手帮看下哪里出问题了…… 题目是 求n个数的最小公倍数. 输入包含多个测试实例,每个
应该是精度问题,你那里写了 while(n--) { scanf("%lu",&b); c=c*b; //这里可能已经超出了32位的范围了 a=gcd(a,b); } 所以不能这样写,我是这样写的: #include using namespace std ; int nlcm ( int * a , int n ); int lcm ( int a , int b ); int gcd ( int a , int b ); int main () { int i , n , z ; while ( cin >> n ) { int * a = new int [ n ]; for ( i = 0 ; i < n ; i ++) { cin >> a [ i ]; } cout