今日職場で ThoughtWorks の面接の質問を見つけたので共有させてください

WBOY
リリース: 2016-07-25 08:48:14
オリジナル
1417 人が閲覧しました
実際、戦略モードを使用してアルゴリズムを独立させることもできます (このトピックについてはまだ書きません)。怠け者~~)
    class FizzBu​​zzWhizz{
  1. private $_special=array();
  2. private $_words=array();
  3. public function __construct(array $special,array $words){
  4. if(in_array(0) ,$special)){
  5. exit('特別な数字には 0 を含めることはできません');
  6. }
  7. $this->_special=$special;
  8. $this->_words=$words;
  9. }
  10. public function run( $ num){
  11. $output='';
  12. for($i=1;$i<=$num;$i++){
  13. $output.=$this->_calculate($i);
  14. }
  15. echo $出力;
  16. exit();
  17. }
  18. プライベート関数 _calculate($number){
  19. $str='';
  20. if(strpos($number,$this->_special[0]) > 0){
  21. return $this->_words[0]."
    ";
  22. }
  23. foreach($this->_special as $k=>$v){
  24. if($number%$v === 0 ){
  25. $str.=$this->_words[$k];
  26. }
  27. }
  28. return $str==''?$number.'
    ': $str.'
    ;
  29. }
  30. }
  31. $special=array(3,5,7);
  32. $words=array('Fizz','Buzz','Whizz');
  33. $obj=new FizzBu​​zzWhizz($special,$words );
  34. $obj->run(100);
コードをコピー

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート