查看完整版本: 编程动动脑 Vol 1

极帝猫 11-7-2007 08:40 PM

编程动动脑 Vol 1

来:^L0}"Di7gvi
出个习题来大家玩玩吧~@FiG j;O6h
脑筋活动活动一下,嘿嘿~
!znQc6dotL ^#i ]!gu r2K}5wF
现在我有 [color=Red]100 元[/color],[color=Red]50 元[/color],[color=Red]10 元[/color],[color=Red]5 元[/color]和 [color=Red]1 元[/color]这几种币值。&|ioTC&_
然后,写一个程序,
/A+l&Z`.hb 这个程序会帮你把手上的钱分类,是个钱币分类的程序。;P
ySzA5I,f q3F
T,@0@!ii,{'b 例如我输入 86 元,
yN,@:n+pc @ 程序就会告诉我,[color=Blue]一共是 50 元一张,10 元三张,5 元一张,1 元一张[/color]。!B J| B`
以此类推~~;P ;P"e9}D7A$d:Bq

"Vr5aPEx4Wp 演示,这是我写的:[url=http://file.e-dyn.com/calc.php?x=86][color=Red][b]http://file.e-dyn.com/calc.php?x=86[/b][/color][/url]r m&p0hk.p P&]
x 代表手上的钱~你可以自己替换成其他的~
)_ f ?i)tI~/` 0}1t;]y K s1E%Z
当然这只是我的演示,你们用什么语言都可以~`5v4q:I/C
把你的源码贴上来,逻辑是对的话,我加分~~:lol: :lol:e8Crcd
Q5L F FI(}&hW
我的源码最后才公布,哈哈~

友友 11-7-2007 08:57 PM

有兴趣。。。z9cI:C!A3F7Qst-t
可是不在行

只對你說我愛你 11-7-2007 09:55 PM

:funk:  JAVA 1的第一天我們就是寫這個:$
N rqrR1^;o.QMN ,g9xN*g Ay)s'z
发现这个板块真得很冷清一下。.k o i8B{.Z5U$L
[color=Red]因爲沒有人貼open source;P [/color]

极帝猫 11-7-2007 10:27 PM

[quote]原帖由 [i]只對你說我愛你[/i] 于 2007-7-11 09:55 PM 发表 [url=http://www.e-dyn.com/forum/redirect.php?goto=findpost&pid=412178&ptid=27977][img]http://www.e-dyn.com/forum/images/common/back.gif[/img][/url]
,P:X D^G5MR:S(O :funk:  JAVA 1的第一天我們就是寫這個:$
U%k[/iH VQ;E5l
o0^-@g$s(B7JN G 发现这个板块真得很冷清一下。
QO4kn(|%`a 因爲沒有人貼open source;P  [/quote]
!jkU:g#O)Od2q !@ MnL| Zd
是哦?(g^&]!SggY
哈哈,很怀念一下~~ :$ :$

只對你說我愛你 11-7-2007 10:39 PM

[quote]原帖由 [i]神仙猫[/i] 于 2007-7-11 10:27 PM 发表 [url=http://www.e-dyn.com/forum/redirect.php?goto=findpost&pid=412192&ptid=27977][img]http://www.e-dyn.com/forum/images/common/back.gif[/img][/url]@zvj L'CD"x
p L6a:MC`)gy

%b'@(gh4K?XB 是哦? Mr4Ld'mgi xz
哈哈,很怀念一下~~ :$ :$ [/quote]
l9g4M+X}r?5|j :$ 第一天我就傻掉,什麽鬼東西,還要畫那個什麽flow的;P

靈琥 8-8-2007 09:01 PM

[code]<?php
l4zZG:ST $money = 83;
[-R'C)]rk` Q $hun = $fif = $ten = $five = $two = $one = 0;
T)ez3]'m(Y while($money>=100){8i8kCA Q`2wlS
        $money -= 100;mr O;r[e!ZP:h$p.]K
    $hun++;
0~%rpRC }@Uy s;Ht"K9T
if($money>=50){
N X$Z+`~^)M6If         $money -= 50;
i)SnNk     $fif++;
)D1m,YX!U"T }
-b-mP'OwW while($money>=10){
!X;NG,^ c         $money -= 10;
#rp}N#E7D iQ6Om,z7G     $ten++;'Vep&G&Y+H+V5xt
}
D;X]RS W:Jz-] if($money>=5){
?wfiV7S|xjX         $money -= 5;
*i `$vx2F     $five++;
+~ {(C:e!U }
$J3M G[X*dC1T@ while($money>=2){0V)v |hCy jQ[
        $money -= 2;
o5[OqQ     $two++;
sB p)G"v1Yy }
/p5I-os sx[,Y[3wH%`2R if($money==1){
*AhSh'\Y*hQ         $money -= 1;:a0Fhs,rzP.R
    $one++;{2}xg c
} ?C\,pX%cW
echo "100 = $hun<br />";2B8bt%{&xUY
echo "50 = $fif<br />";
.s?I.~6]i echo "10 = $ten<br />";
w W.z&Z aE5MrI echo "5 = $five<br />";M&i#S4~ m b
echo "2 = $two<br />";;zOVP v.`
echo "1 = $one<br />"; hbF8H ZKg)^3}G
?>[/code]

极帝猫 9-8-2007 10:13 PM

[quote]原帖由 [i]靈琥[/i] 于 2007-8-8 09:01 PM 发表 [url=http://www.e-dyn.com/forum/redirect.php?goto=findpost&pid=419877&ptid=27977][img]http://www.e-dyn.com/forum/images/common/back.gif[/img][/url]-`y!Xh;^/I4Z
[/quote]
O!sUo(`Y~
-w6I2? c/p9u` 我发的问题竟然有人回应@@
f2nM@9n f&Sp 感动下~~~cf nic wF(R
_5`'RG!vC!a^
看了,逻辑不错~~
oq| B[$@r `s 答案完全正确~~\om jA i4t
tKh1^K3m\
但是程式还可以在精简一些~avh1D Wq3g#i&|!|2H
加油~~V#Hv |.rtW.? w:nO
:onion68: :onion68: :onion68:,xoW_2Ajp2t
y.oWlC$~%?q ~&u }
给你看我的,你可以用 Array 来判断它,{k*Aj'[d,YO
如果有增加,只要在 Array 加多一个币值,下面程序就完全不需要改动。HCbTqd:WI
那你的程序就会快很多哦。
"P ixtF 4O HL-HYK0~(]9K
[code]<?php L0DzE6qpi
?.~8j L|(}kZ
$returnType = array('100', '50', '10', '5', '1');#n)a4i)H#N,oL
$returnAns        = array();
@A n cg
(F@2CX0lhdM#j $x = $_GET['x'];
+V]B*Rm ~G } u)J/l7^
echo "Change: $".$x."<br><br><table>";z6e!| j3dE

1fl0I&pnCw{o for($i = 0; $i < count($returnType); $i++)d-u(Z q){
{
mS*N.g2w7x~}         $num = $x % $returnType[$i];
U)Z?0Ik9v/P{ U&?         $returnAns[$i] = ($x - $num) / $returnType[$i];
1u {7f`Rt+O         $x = $x - $returnAns[$i] * $returnType[$i]; \ F&D/R)d!w ^n

YJ;h]:jb,IGX D6U@         echo "<tr><td>$".$returnType[$i]."</td><td>= ".$returnAns[$i]."</td></tr>";sw7k8iE%z,S"Yc
}
h3r0fi~8C j| d[4b
echo "</table>";
:Ue(c"im2kVFt&f tA/^S V.dAD
?>[/code]

周伯通 9-8-2007 10:20 PM

:onion06: 看了都不知道是什么!
k.a+w,Bd| 只觉得自己太差!

靈琥 10-8-2007 12:40 AM

我是php programmer,难得看到有人放php的东西,当然不可以放过拉。。。S TX8np
你果然是聪明人。。。%QM5Uj` @-m L
经你那么一说,我就想到这个做法
3A7K\!?6i/SJS 不知道哪一个比较快?
8c#e2zue [code]
M!XCj7S"wdu <?phpi(iEJl'Ov
OqVI]
$x=99999999999;G#f-N5}^g&G
$mm = array(100,50,10,5,2,1);w-K4rB,[K
echo "Change: $".$x."<br><br><table>";
L7Y5W\_}0C7p8?         foreach($mm as $v){]|.H%Hkqu
            $ans = floor($x/$v);
8zn,L?(Wr3x             echo "<tr><td>$v => $ans</td></tr>";N?SC'Y&XN#BZ
            $x = $x%$v;8R*U2SOj;Q+f
        }-aVgD4T[W
echo "</table>";
4e3O\hm/K[ H(u8FgX
}[/code] Cn8r'z-g*PIa8CW

R-Tc-_X'u YI 还有就是,你把array里面数值当作string了,数字不需要 '100'。。 直接放100就可以了
ck|XE W5M ] e ?>

极帝猫 10-8-2007 01:13 PM

哈哈哈,我只是抛砖引玉~~:lol: :lol:
&n9A'DDty5]&sh 不过你把它优化得不错哦~+K"E Q R^#g5g J
:onion68: :onion68: p,]*jz#IO
*Hs4z+D)H Alu
[quote]原帖由 [i]靈琥[/i] 于 2007-8-10 12:40 AM 发表 [url=http://www.e-dyn.com/forum/redirect.php?goto=findpost&pid=420223&ptid=27977][img]http://www.e-dyn.com/forum/images/common/back.gif[/img][/url]
}b P*Q | Y$];u 还有就是,你把array里面数值当作string了,数字不需要 '100'。。 直接放100就可以了
*[%}IE$l7uH+C8]N\ [/quote]
0kVrx%oV+eo%z}
*@ K(S9l"h_k,b5kE 哈哈,那是我的恶习。。谢谢你提点我~
w1Q.D0I.@+ba^ 每次忘记~~;P ;P

靈琥 10-8-2007 10:40 PM

哈哈。。过奖了。。。%qMcypZ*b
我刚发现了一些东西
kbiH})aq 你试看J2kHeDZv^ K
<? lY(I DQ7D/^d
$x = 99999999999999;
(N8_+oWr+@ L echo $x%500,"<br />"; o.y(la,~t"{-O]:B O
echo $x-(floor($x/500)*500);!_y jfDPV6{5U T
?>
X`Enw){7F;_*L&h:b 看看得到的答案有什么不同 Ja2f%U&|n
虽然说99999999999999这个数字在php很少会用到

龚各回 27-10-2011 12:24 PM

*** 作者被禁止或删除 内容自动屏蔽 ***
页: [1]
查看完整版本: 编程动动脑 Vol 1