杭電2028題的整數位數問題

剛開始用int型定義,提交時一直錯,檢查了好多遍函數,一直還是WA ,後來改成了long int型,還是WA ,辛辛苦苦看到了是要定義 unsigned long int型的纔行,提交果然AC ,數據類型的位數.....

 

#include<stdio.h>
unsigned long int lcm(unsigned long int a,unsigned long int b)
{
 long int  temp,sum;
 sum=a*b;
 if(b>a)
 {
  temp=a;
  a=b;
  b=temp;
 }
 while(b!=0)
 {
  temp=a%b;
  a=b;
  b=temp;
 }
 return (sum/a);
}
int main()
{
 unsigned long int i,b,a,n;
 while(scanf("%d",&n)==1)
 {
  a=1;
  for(i=0;i<n;i++)
  {
   scanf("%d",&b);
   a=lcm(a,b);
  }
  printf("%d\n",a);
 }
 return 0;
}

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章