- 论坛徽章:
- 0
|
本帖最后由 shangat 于 2010-09-20 22:37 编辑
占个位,参与一下
11:公鸡3元每只,母鸡5元每只,小鸡1元3只,一百元钱买一百只鸡。请求出公鸡,母鸡和小鸡的数目。
==================================================
<?php
/*
由小鸡的价格得 小鸡的数目 必为 3 的倍数
转为解决一个不定方程问题
*/
funcation nums ( $price_cock, $price_hen, $price_chick, $sum, $monkey ) {
if ( $price_cock > $price_hen ) {
$start = ( $monkey - $price_hen*$sum ) / ( $price_chick - $price_hen );
$end = ( $monkey - $price_cock*$sum ) / ( $price_chick - $price_cock );
}
else {
$start = ( $monkey - $price_cock*$sum ) / ( $price_chick - $price_cock );
$end = ( $monkey - $price_hen*$sum ) / ( $price_chick - $price_hen );
}
for ( $start; $start < $end; $start++ ) {
$ncock = ( ( $monkey - $price_hen*$sum ) - ($price_chick - $price_hen )*$start )/ ( $price_cock - $price_hen );
$chen = ( ( $price_chick - $price_cock )*$start - ( $monkey - $price_cock*$sum ) )/( $price_cock - $price_hen );
unless ( $ncock =~ /\./ || $nhen =~ /\./ ) {
if ( ( $sum - $ncock - $nhen ) % 3 == 0 ) {
echo "cock: $ncock hen: $sum-$start-$ncock chick: $start ";
}
}
}
}
num ( 3, 5, 1/3, 100, 100 );
?>
==================================================
12:小猴第一天摘下若干枣子,当即吃掉了一半,不过瘾又多吃了一个;第二天吃了剩下的一半又多吃了一个;以后每一天都吃了前一天剩下的一半多一个。到第十天小猴再想吃时,见到只剩下一只枣子了。问第一天这堆枣子有多少?
==================================================
<?php
/*
假设枣子的数量 a 很大,则:
第 n 天所吃的数目为: ( a + 2 ) / 2**k
第 n 天可以吃的数目为:( a + 2 ) / 2**k - 2,也就是第( n- 1 )天剩下的数目
*/
funcation first_all ( $days, $eatable ) {
$index = 1;
for ( $i=0; $i< $days-1; $i++ ) {
$index *= 2;
}
echo "The first day there has: ",( $eatable + 2 )*$index -2;
}
?>
==================================================
13:有一艘大船准备用来装载货物。所有待装货物都装在货箱中且所有货箱的大小都一样,但货箱的重量都各不相同。设第i 个货箱的重量为wi(1≤i≤n),而货船的最大载重量为c,如何在货船上装入最多的货物。
==================================================
<?php
*/
变形为:一正数数组,元素互不相同,求元素之和不超过 C 的组合中元素之和最大的一组
*/
funcation load_max ( $array, $max_limited ) {
$tags = 0;
$result_array();
for ( $i =0; $i < strlen($array); $i++ ) { //strlen
$tp = 0;
$temp_array();
for ( $j = $i; $j < strlen($array); $j++ ) {
$tp += $array[$j];
if ( $tp <= $max_limited ) {
array_push($array,$array[$j]);
}
else {
$tp -= $array[$j];
}
}
if ( $i == 0 ) {
$tags = $tp;
$result_array = $temp_array;
}
else if ( $tags <= $tp && count($result_array) <= count($temp_array)) {
$tags = $tp;
$result_array = $temp_array;
echo "To load this cags:";
print_r ($result_array);
echo "( max load is: $tags )\n";
}
}
load_max ( $array, $max );
?>
==================================================
23、写出php的public、protected、private三种访问控制模式的区别
===========================================
对于PHP的属性和方法的访问权限,主要有public、protected、private这三个,
实现的办法就是在前面添加关键字public、protected、private 来实现的。
由public所定义的类成员可以在任何地方被访问;
由 protected 所定义的类成员则可以被其所在类的子类和父类访问(当然,该成员所在的类也可以访问);
而由 private 定义的类成员则只能被其所在类访问。
===========================================
24、 给你三个数,写程序求出其最大值。
=====================================
<?php
function max_from_three($a,$b,$c){
$max = ( $a >= $b ? ( $a >= $c ? $a : $c ) : ( $b >= $c ? $b : $c ) );
return $max;
}
echo max_from_three(3,2,15);
?>
=====================================
25、写出查询发贴数最多的十个人名字的SQL,利用下表:
members(id,username,posts,pass,email)
==================================================
select username from members order by posts desc limit 10;
================================================== |
|