1. 程式人生 > >php編寫兩個32位以上數字相加

php編寫兩個32位以上數字相加

<!DOCTYPE html>
<html>
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no">
    <title></title>
</head>
<?php
    if($_GET){
        $name1= $_GET['name1'];
        $name2= $_GET['name2'];
        $arr1 = str_split($name1);
        $arr2 = str_split($name2);
        $cou1 = count($arr1);
        $cou2 = count($arr2);
        $count = $cou1>=$cou2?$cou1:$cou2;
        $sarr = array();
        for($i=1;$i<=$count+1;$i++){
            if($cou1-$i>=0){
                $a = $arr1[$cou1-$i];
            }else{
                $a = 0;
            }
            if($cou2-$i>=0){
                $b = $arr2[$cou2-$i];
            }else{
                $b = 0;
            }
            if(isset($sarr[$count-$i])){
                $d = $sarr[$count-$i];
            }else{
                $d = 0;
            }
            $c = $a+$b+$d;
            if($c>=10){
                $carr = str_split($c.'');
                $arr[$count-$i] = $carr[1];
                $sarr[$count-$i-1] = $carr[0];
            }else{
                $arr[$count-$i] = $c;
            }
        }
        ksort($arr);
        $zong = implode('',$arr);
        if(substr($zong,0,1) == 0){
            $zong = substr($zong,1);
        }
        echo $zong;
    }
?>
<body class="vdbg">
    <form action="" method="get">
    <input type="text" name="name1" value=""/>
    <input type="text" name="name2" value=""/>
    <input type="submit" name="submit" value="提交"/>
    </form>
</body>
<?php
echo '<br/>';
function test_odd($var){
    return($var & 8);
}
$a = array('a','b',2,3,4,5,6,7,8,9,11);
print_r(array_filter($a,"test_odd"));
echo '<br/>';
$b = array('b',1,12,2,3,4);
$c = array('a','b',2,6,7,8);
print_r(array_intersect($a,$b,$c));
?>
</html>

相關推薦

php編寫32以上數字相加

<!DOCTYPE html><html><head>    <meta charset="UTF-8">    <meta name="viewport" content="width=device-width, ini

Leetcode 29. Divide Two Integers--32整數相除,小數位截斷,不能使用乘法、除法、取模運算

Given two integers dividend and divisor, divide two integers without using multiplication, division and mod operator. Return the qu

C++實現超大的字元數字相加的演算法的程式碼

如下資料是關於C++實現兩個超大的字元數字相加的演算法的程式碼。 #include <iostream> #include <string> #include <stack> using namespace std; void deleteLeadingZeros(st

n二進位制整數相加的問題

考慮把兩個n位二進位制整數加起來,這兩個整數分別儲存在兩個n元陣列A和B中,這兩個整數的和應按二進位制形式儲存在一個n+1元陣列中。 虛擬碼: ADD-BINARY(A, B): C = new

16有符號整數轉換為32有符號整數的方法

在工作中遇到需要將兩個16位的有符號整數轉換為32位有符號整數的功能,具體情況是需要把PLC裡放在兩個D軟元件裡的32位資料以16位為單位讀到PC端後再轉換為32位資料。經過實踐,方法和注意事項整理如下: 先列出可用方法供大家參考,如有錯誤請指正! 第一種、通過BitCon

php計算整數的最大公約數常用算法小結

fin fun != == min 歐幾裏得 sed func def //歐幾裏得算法function ojld($m, $n) { if($m ==0 && $n == 0) { return false; } if($n

PHP 計算特別大的整數

PHP 大整數相加 面試 function getIntAdd($a,$b){$c = ‘‘;$bCount = strlen($b);$aCount = strlen($a);$count = max($bCount,$aCount);$aDiff = $count - $aCount;$bDi

php計算時間差

min turn rto 計算 str rtti @param gin val /** * 計算兩個時間差 * @param [type] $start [description] * @param [type] $end [description] * @

php 計算日期相差天數

class end rto date 日期相差 天數 day sharp echo php 計算兩個日期相差天數 <?php $startdate=strtotime("2013-3-09"); $enddate=strtotime("2013-

PHP計算日期相差的年月日時分秒

sta 年月日 小時 計算 時分秒 end func min con $start_time = ‘2017-09-06 15:12:20‘; $end_time = ‘2018-09-08 10:20:45‘; get_time($start_time,$end_ti

Java 計算日期相差年數字、月數、天數及時分秒

import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.Calendar; import java.util.Date; import org.apache.log4j.Logger;

安裝zabbix需要php模組php-bcmath和php-mbstring(轉)

安裝zabbix需要php的兩個模組php-bcmath和php-mbstring 原創 Linux作業系統 作者:甲骨文技術支援 時間:2018-02-24 18:35:24  1472  0

PHP計算時間戳之間的日期

function timediff($begin_time, $end_time) { if ($begin_time < $end_time) { $starttime = $begin_time; $endtime = $end_time;

用232的整型數表示64埠的點陣圖

#include <stdio.h> #define OFDPA_PBMP_ITER(bm, port) \ int i = 0, p = 0; \ for ((p) = 0, port=1; (p) < 64; (p)++, i=(p)/32, port=p+1

php計算時間相差的天數、小時數、分鐘數、秒數

$startdate="2011-3-15 11:50:00";//開始時間 $enddate="2012-12-12 12:12:12";//結束時間 $date=floor((strtotime($enddate)-strtotime($startdate))/86400); echo "相差天數

php 對比陣列中的值是否相等

$a = ['1','2','4','3'];//提交答案 $b = ['2','1','3'];//正確答案 $state = $this->diffArray($b, $a); echo '<pre>'; print_r($state);die; /**

SQL語句order by同時排序問題

可能對不少網友來說非常簡單,但是我覺得在一定程度上對我還是有些迷惑之處,下面就通過hibernate中的HQL語句來介紹下這類問題的效果。 首先HQL語句程式碼: FROM Topic t WHERE t.id >2 ORDER BY t.type DESC,t.number DESC

php獲取陣列相同的元素(交集)以及比較陣列中不同的元素(差集)

(一)php獲取兩個陣列相同元素   array  array_intersect(array  $array1, array $array2, [, array $...])       array  array_int

PHP 獲取日期相差多少年,多少月,多少天,多少小時,並填充陣列

PHP 獲取兩個日期相差多少年,多少月,多少天,多少小時,並填充陣列 <?php /** * 獲取兩個日期相差多少年,多少月,多少天,多少小時,並填充陣列 * @param [type] $startTime [開始日期,如:2018-02-10 10:00] * @param [

php 判斷時間段是否有交集

一開始,沒啥思路,全靠百度,記錄一下哈 1 public function demo(){ 2 //例子 3 $astart = strtotime("1995-06-16 12:00:00");//第1個開始 4 $aend = str