1、⼩⽩去附近店鋪買橘⼦,⽬前商店做活動,提供**打包銷售,例如每袋3個和每
袋5個的形式**。現⼩⽩只想購買n個橘⼦,同時想購買盡量少的袋數⽅便攜帶。如
果不能購買恰好n個橘⼦,就不會購買(可返回-1),求解輸出最少的袋數。(例如:
18)
<?php//如題可知,求最少袋子的數量,眾所周知,5大於3 所以優先計算出可以被5除的部分,剩下的餘數在判定是否可以被3整除,但是如果存在9這種數,被5整除後餘數為4,不可以被3整除,但是9可以直接被3整除
//所以還要考慮n個橘子本身的問題,也就是考慮到3和5的最小公倍數之前有多少個3,因為3和5的最小公倍數是15,所以,要特殊考慮3,6,9,12等數
$num = isset($_get['num']) ? $_get['num'] : -1;
if($num <= 0)
$str = '-1';
else
if($num % 5 == 0)//如果可以直接被5整除則直接輸出
$str = "需要".($num/5)."個袋子";
else
if(($num - 3) % 5 == 0 && ($num - 3) >=0)
$str = "需要".(($num - 3) / 5 + 1)."個袋子";// 根據3 6 9 12 數字考慮 因為3是第乙個,減去3就少了乙個袋子,所以後面需要加1,以此類推
elseif(($num - 6) % 5 == 0 && ($num - 6) >=0)
$str = "需要".(($num - 6) / 5 + 2)."個袋子";
elseif(($num - 9) % 5 == 0 && ($num - 9) >=0)
$str = "需要".(($num - 9) / 5 + 3)."個袋子";
elseif(($num - 12) % 5 == 0 && ($num - 12) >=0)
$str = "需要".(($num - 12) / 5 + 4)."個袋子";
else
$str = '-1';
echo $str;
2、⼩紅去超市買玩具,⼝袋懷揣了n張錢,買了⼀個價值m的玩具。錢的⾯額可以
是1元、5元、10元、50元,⽽⼩紅擁有的錢中有的⾯額可能沒有,問,付錢的時
候,會有多少種可能的付費組合⽅式?
輸⼊:輸⼊兩個數n(多少張錢),m(玩具的**)
輸出:請輸出可能的組合⽅式數
<?php//已知有四種貨幣 1 5 10 50 通過迴圈遍歷去查詢可以滿足為n的數值;
$n = isset($_get['num1']) ? $_get['num1'] : -1;
$m = isset($_get['num2']) ? $_get['num2'] : -1;
if($n <= 0 || $m <= 0)
$sum = 0;
$str = '';
for( $a=0; $a<=$n; $a++)}}
}}echo '一共有'.$sum.'種組合,分別為:
'.$str;
某廠幾道C C 面試題
說來慚愧,時間緊急,沒有準備,唉,自作孽 最快解法思路 return a a 1 這是linux核心 中用的乙個函式或者說方法,之前從未接觸過,所有有點懵逼 具體定義如下 define list entry ptr,type,member type char ptr unsigned long ty...
某知名公司筆試題目
c c 測試題答題人 日期 一 c語言部分 a 關鍵字 volatile 有什麼含意?並給出三個不同的例子 b 關鍵字 static 的作用是什麼?c 給定乙個整型變數 a,寫兩段 第乙個設定a的 bit 3 第二個清除a 的 bit 3 在以上兩個操作中,要保持其它位不變 d 設定一絕對位址為 0...
python 快速排序某筆試題
下面展示一些內聯 片。a code block var foo bar def get mid arr,left,right 前面是陣列,然後是索引 先設定乙個基準值 pivot right 基準值是右邊的時候,先從左邊開始遍歷 while leftwhile left arr pivot left...