hdu 1230(火星A B,進製)

2022-09-24 00:30:13 字數 1518 閱讀 9980

/*個人感覺如果進製轉換的話太麻煩,直接模擬加法,不同位數採用不同的進製加法。。。

/但是還是wa了兩次,沒有處理好餘數的問題,當不能進製時。

2013-04-23

*/[cpp]

#include"stdio.h"  

#include"string.h"  

#include"math.h"  

int prime[25],cnt; 

void fun() 

} if(f)prime[cnt++]=i; 

if(cnt==25)break; 

} }          

int main() 

else if(s1[i]>='0'&&s1[i]<='9') 

} //需要逆置一下。。  

for(i=0,j=t1-1;i

//b  

t2=0; 

t=0; 

for(i=0;s2[i];i++) 

else if(s2[i]>='0'&&s2[i]<='9') 

} for(i=0,j=t2-1;i

memset(c,0,sizeof(c)); 

i=0; 

int carry; 

carry=0; 

while(i

else 

i++; 

} if(carry!=0)//  

c[i++]=carry; 

for(j=i-1;j>0;j--) 

printf("%d,",c[j]); 

printf("%d\n",c[0]); 

} return 0; 

} #include"stdio.h"

#include"string.h"

#include"math.h"

int prime[25],cnt;

void fun()

}  if(f)prime[cnt++]=i;

if(cnt==25)break; }}

int main()

else if(s1[i]>='0'&&s1[i]<='9')

}//需要逆置一下。。

for(i=0,j=t1-1;i

//bt2=0;

t=0;

for(i=0;s2[i];i++)

else if(s2[i]>='0'&&s2[i]<='9')

}for(i=0,j=t2-1;i

memset(c,0,sizeof(c));

i=0;

int carry;

carry=0;

while(i

else

i++;

}  if(carry!=0)//

c[i++]=carry;

for(j=i-1;j>0;j--)

printf("%d,",c[j]);

printf("%d\n",c[0]);

} return 0;

}

HDU 1230解題報告

problem description 讀入兩個不超過25位的火星正整數a和b,計算a b。需要注意的是 在火星上,整數不是單一進製的,第n位的進製就是第n個素數。例如 地球上的10進製數2,在火星上記為 1,0 因為火星個位數是2進製的 地球上的10進製數38,在火星上記為 1,1,1,0 因為火...

hdu1230 大數加法 進製轉換

problem description 讀入兩個不超過25位的火星正整數a和b,計算a b。需要注意的是 在火星上,整數不是單一進製的,第n位的進製就是第n個素數。例如 地球上的10進製數2,在火星上記為 1,0 因為火星個位數是2進製的 地球上的10進製數38,在火星上記為 1,1,1,0 因為火...

hdoj 1230 火星A B(模擬加法進製運算)

思路 題意還是比較好理解的,第幾位就是逢第幾個素數進一 如個位逢2進1,十位逢3進1,百位逢5進1,然後模擬這樣的進製操作輸出結果就好了 如下 include include include include include include include using namespace std in...