設有n個正整數(n≤100),將它們聯接成一排,組成乙個最大的多位整數。
例如:n=3時,3個整數13,312,343聯接成的最大整數為:34331213
又如:n=4時,4個整數7,13,4,246聯接成的最大整數為:7424613
sample input
313 312 343
47 13 4 246
3321 32 3
3324 32 3
sample output
34331213
7424613
332321
332432
程式如下:
#include int compareint(int a,int b) // 死辦法,計算出來乙個乙個比大小
while(b/lb)
return (a*lb+b)-(b*la+a);
}int main()
{ int i,j,n;
int data[100],temp;
while(1)
{ printf("input n:");
scanf("%d",&n);
if(n<=0||n>100) break;
printf("input number:");
for(i=0;i程式執行截圖:
數串 組成最大整數
設有n個正整數,將他們連線成一排,組成乙個最大的多位整數。如 n 3時,3個整數13,312,343,連成的最大整數為34331213。如 n 4時,4個整數7,13,4,246連線成的最大整數為7424613 一開始直接return a b 即字典序,忽視了例如 93 936 應為93936 數字...
將乙個多位整數轉換為陣列
將乙個多位整數轉換為陣列 例如 int a 2017 轉換為 int arr 思路及步驟 1 將int型變數 a 的每一位進行拆分,那麼就需要將 a 轉換為字串,因為字串包含索引 1.1初始化乙個string物件str。1.2呼叫integer類的tostring方法將作為引數傳遞,由str接收其返...
n個整數陣列返回n 1個乘積最大值
一道某公司的筆試題,int a1.n 整數陣列,求n 1個數的乘積的最大值。只能用乘法,不用除法。用除法就太簡單了,全部連乘,然後逐個除,注意判斷有0的,遍歷就最大。第一眼反應分類討論,按照邏輯來分 1 有0的話,若 2個0,return 0 1個0,剩餘奇數個負數,return 0,偶數個,餘下乘...