華為機試 求最小張數換零錢演算法

2022-04-08 18:23:53 字數 1219 閱讀 2146

c_c++_xy_03.求最小張數換零錢演算法

假設1元,5元,10元,50元,100元的人民幣若干,實現乙個能找到最少張數累計達到乙個指定金額方法。

如:67元,可分為67個1元錢。也可分為6個10元7個1元

其中最少人民幣分法為一張50元,一張10元,一張5元,兩張1元,五張不同金額的拆分方法為最最少張數拆分法

void calleastchange(long linputvalue, int *ioutputrlt)

【輸入】 linputvalue: 輸入整數金額

【輸出】 loutputrlt: 輸出計算結果

【注意】僅考慮整數金額拆分方法

輸入:「67」

輸出:「5」

123

4567

891011

1213

1415

1617

1819

2021

2223

2425

2627

2829

3031

3233

3435

3637

3839

4041

4243

4445

4647

4849

5051

5253

5455

5657

5859

6061

6263

#include

usingnamespacestd;

voidcalleastchange(longlinputvalue,int*ioutputrlt)

intcount = 0;

if(linputvalue >= 100)

}if(linputvalue >= 50)

}if(linputvalue >= 10)

}if(linputvalue >= 5)

}if(linputvalue >= 1)

}*ioutputrlt = count;

}intmain()

華為機試 約瑟夫環換m值

問題描述 輸入乙個由隨機數組成的數列 數列中每個數均是大於0的整數,長度已知 和初始計數值m。從數列首位置開始計數,計數到m後,將數列該位置數值替換計數值m,並將數列該位置數值出列,然後從下一位置從新開始計數,直到數列所有數值出列為止。如果計數到達數列尾段,則返回數列首位置繼續計數。請程式設計實現上...

華為機試 最小最大數之和

輸入整型陣列求陣列的最小數和最大數之和,例如輸入1,2,3,4則輸出為5,當輸入只有乙個數的時候,則最小數和最大數都是該數,例如只輸入1,則輸出為2 另外陣列的長度不超過50 include include include using namespace std int main int len c...

華為機試 求最大連續bit數

題目描述 功能 求乙個byte數字對應的二進位制數字中1的最大連續數,例如3的二進位制為00000011,最大連續2個1 輸入 乙個byte型的數字 返回 對應的二進位制數字中1的最大連續數 輸入描述 輸入乙個byte數字 輸出描述 輸出轉成二進位制之後連續1的個數 示例1輸入 輸出方法一分析 直接...