算法ti

算法1

<?php
header('Content-type:text/html;charset=utf-8');
$num = $_POST['number'];
$arr=explode(',',$num);
//函数移除数组中的重复的值,并返回结果数组
$arr1=array_unique($arr);
rsort($arr1);
$arr2=implode($arr1,',');
print_r($arr2);
?>

算法2

<?php
header('Content-type:text/html;charset=utf-8');

//请写一个函数,实现以下功能,并演示。(将以下划线分割的字符串转换为驼峰式)字符串“open_door” 转换成 “OpenDoor”、”make_by_id” 转换成 ”MakeById”
$str="open_door";
$a1=str_replace('_',' ',$str);
$b1=ucwords($a1);
$c1=str_replace(' ','',$b1);
echo $c1;
echo "<br/>";
$str1="make_by_id";
$a2=str_replace('_',' ',$str1);
$b2=ucwords($a2);
$c2=str_replace(' ','',$b2);
echo $c2;
echo "<br/>";

//请写一个函数,求两个日期的差数,例如2007-2-5 ~ 2007-3-6 的日期差数
$time1=strtotime('2007-2-5');
$time2=strtotime('2007-3-6');
echo ($time2-$time1)/(24*60*60);
echo "<br/>";

//请写一个函数,求一个数组中最大数和最小数的差
$arr=array('0'=>2,'1'=>4,'2'=>6);
$a=max($arr)-min($arr);
echo $a;
?>

算法3

<?php
/*
算法1:对一个自然数做如下操作,若为偶数,则把它除以2,若为奇数,则把它乘以3加1,经过如此有限次运算后,总可以得到自然数1。
比如22: 11 34 17 52 26 13 40 20 10 5 16 8 4 2 1
*/
$a=22;
/*while($a>1){
if($a%2==0){
$a=$a/2;
echo $a;
echo '<br/>';
}else{
$a=$a*3+1;
echo $a.'<br/>';
}
}*/

function digui($a){
static $arr=array();
if($a%2==0){
$arr[]=$a/2;
$a=$a/2;
if($a==1){
foreach($arr as $v){
echo $v.'<br/>';
}
die;
}else{
return digui($a);
}
}else{
$a=$a*3+1;
$arr[]=$a;
return digui($a);
}
}
echo digui($a);

/*function func($a){
static $num = array();
if($a != 1){
static $data=0;
if($a%2==0){
$a=$a/2;
$num['o'.$data]=$a;
$data++;
}else{
$a=$a*3+1;
$num['j'.$data]=$a;
$data++;
}
func($a);
}
return $num;
}
print_r(func(22));
*/

算法4

<?php
//给一个不多于5位的正整数,要求:一、求它是几位数,二、逆序打印出各位数字。
$arr = "1234";
$arr = str_split($arr);
if(count($arr) >= 5){
echo "不可以超过5位";
}else{
$arr = array_reverse($arr);
for($i = 0; $i < count($arr); $i++){
echo $arr[$i];
}
}

算法5

<?php
/*
n只猴子围坐成一个圈,按顺时针方向从1到n编号。然后从1号猴子开始沿顺时针方向从1开始报数,报到m的猴子出局,再从刚出局猴子的下一个位置重新开始报数,如此重复,直至剩下一个猴子,它就是大王。设计并编写程序,实现如下功能:
(1)要求由用户输入开始时的猴子数n、报数的最后一个数m。
(2)给出当选猴王的初始编号。
*/
header("Content-type:text/html;charset=utf-8");
$n = $_POST['n'];
$m = $_POST['m'];
for($i=1;$i<=$n;$i++){
$num[$i]=$i;
}
$a=1;
while(count($num)>1){
if($a%$m==0){
unset($num[$a]);
}else{
array_push($num,$num[$a]);
unset($num[$a]);
}
$a++;
}
$dawang=implode('',$num);
echo '大王的编号为'.$dawang;

算法6

<?php
header("Content-type:text/html;charset=utf-8");
//案例要求:输入:This is an Apple on eBay;输出:Siht si na Elppa no yAbe

$name = $_POST['name'];
$arr = explode(" ",$name);
$num = count($arr);
for ($i = 0; $i < $num ; $i++) {
$arr2[] = strtolower(strrev($arr[$i]));
$num2 = strlen($arr2[$i]);
for ($ii = 0; $ii < $num2 ; $ii++) {
//echo strtoupper($arr[$i][$ii]);
if ($arr[$i][$ii] == strtoupper($arr[$i][$ii])) {
//echo strtoupper($arr2[$i][$ii]);
$arr2[$i][$ii] = strtoupper($arr2[$i][$ii]);
}
}
echo $arr2[$i]."&nbsp;";
}

算法7(计算缘分)

1)

//html页面

<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>计算缘分</title>
<script src="jquery.js"></script>
</head>
<body>
<center>
<h1>计算缘分</h1>
<input type="text" size='10' name="name1" id="name1"> 和
<input size='10' type="text" name="name2" id="name2">
<button οnclick="jisuan()">计算缘分</button><br>
<textarea name="content" id="content" cols="30" rows="10"></textarea>
</center>
</body>
</html>
<script>
function jisuan()
{
var name1=$('#name1').val();
var name2=$('#name2').val();
url="pro.php";
data={'name1':name1,'name2':name2};
$.post(url,data,function(msg){
$('#content').html('他们之间的缘分为:'+msg);
//alert(msg)
});
}
</script>

//php页面

<?php
header("content-type:text/html;charset=utf-8");
$name1=md5($_POST['name1']);
$name2=md5($_POST['name2']);
$str1=str_split($name1);
$str2=str_split($name2);
$new_str=array_intersect_assoc($str1, $str2);
$data=array_keys($new_str);
$j = 0;
$array[$j][] = $data[0];
for($i = 1; $i<count($data); $i++){
if(($data[$i]-$data[$i-1]==1)){
$array[$j][] = $data[$i];
}else{
$j++;
$array[$j][] = $data[$i];
}
}
$num=0;
$num=$num+count($data)*10;
foreach ($array as $key => $value) {
if(count($value)>1)
{
$num=$num+count($value)*10;
}
}
echo $num ;
?>

2)

//html页面

<meta charset="utf-8">
<input type="text" id="user1">和
<input type="text" id="user2">
<input type="button" value="计算缘分" οnclick="add()"><br>
<textarea id="yf" rows="10" cols="30"></textarea>

<script type="text/javascript">

function add(){
var user1=document.getElementById('user1').value;
var user2=document.getElementById('user2').value;
//alert(user2);
var ajax=new XMLHttpRequest();
ajax.open('get','test4pro.php?user1='+user1+"&&user2="+user2);
ajax.send();
ajax.onreadystatechange=function(){
if(ajax.readyState==4 && ajax.status==200){
//alert(ajax.responseTex)
var list= document.getElementById('yf');
list.innerHTML="他们的缘分:"+ajax.responseText+"分";
}
}
}
</script>

//php页面

<?php
header("content-type:text/html;charset=utf-8");
$user1=$_GET['user1'];
$user2=$_GET['user2'];
$u1=MD5($user1);
$u2=MD5($user2);
$nums=strlen($u1);
for($i=0;$i<$nums;$i++){
static $num=0;
static $n=1;
if($u1[$i]==$u2[$i]){
if($i<$nums-1){
if($u1[$i+1]==$u2[$i+1]){
$n=$n+1;
if($i<$nums-2){
if($u1[$i+2]!=$u2[$i+2]){
$n=$n+1;
}
}
}
}
$num=$num+10;
}
}
if($n>1){
echo $num=$n*10+$num;
}else{
echo $num;
}
?>

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值