PHP解数学题

post by 朦朧中的罪惡 / 2010-3-11 18:34 Thursday PHP

题目如下

有6个人都是4月11生的,并且都属牛,某年他们岁数的连乘积为17597125,问这一年他们岁数之和是多少

算法核心:

因为他们都属牛,那么可以确定他们岁数相同,或是相差12的倍数,那么我们就一个人的岁数为基础,在他的岁数的基础上+12的倍数得到其他人的岁数,然后每次推理出六个人的岁数,我们就要将每个人的岁数连乘看是否为17597125

<?php
// 题目:有6个人都是4月11生的,并且都属牛,某年他们岁数的连乘积为17597125, 问这一年他们岁数之和是多少

// 解题人:朦胧之影 http://be-evil.org
$a = $b = $c = $d = $e = $f = 1;
for ($a = 1; $a<=15; $a++) {
    for ($i = 0; $i <=10; $i++) {
        $b = $a + $i * 12;
        for ($i2 = 0; $i2 <= 10; $i2++) {
            $c = $a + $i2 * 12;
            for ($i3 =0;$i3 <= 10; $i3++) {
                $d = $a + $i3 * 12 ;
                for ($i4 = 0; $i4 <= 10; $i4++) {
                    $e = $a + $i4 * 12;
                    for ($i5 = 0; $i5 <=10; $i5++) {
                        $f = $a + $i5 * 12;
                        if ( $a * $b * $c * $d * $e * $f == 17597125 ) {
                            echo '张三= '. $a;
                            echo '李四= '. $b;
                            echo '王五= '. $c;
                            echo '赵六= '. $d;
                            echo '田七= '. $e;
                            echo '王二麻子= '. $f;
                            echo "和=". ($a + $b + $c + $d + $e + $f);
                            echo '<br>';
                            break;
                        }
                    }
                }
            }
        }
    }
}

标签: php 原创 算法

评论(0) 引用(0) 浏览(8)

给Vim添加更多的文件后缀

post by 朦朧中的罪惡 / 2010-3-11 16:24 Thursday 软件应用

遇到某些奇怪的程序文件后缀vim不认识无法使用对应语言的语法高亮方案怎么办?

例如inc文件,PHP或者ASP都用

快速方案

打开文件后输入

set filetype=php 或者 set filetype=asp

持久方案

打开vim安装目录下的filetype.vim

找到以下下内容

au BufNewFile,BufRead *.php,*.php\d,*.phtml,*.ctp    setf php

 

修改为

au BufNewFile,BufRead *.php,*.php\d,*.phtml,*.ctp,*.inc    setf php

保存即可

DIY方案

在syntax文件夹里面增加inc类型,然后在filetype.vim里面增加

au BufNewFile,BufRead *.inc    setf inc

搞定

 

 

标签: Vim

评论(0) 引用(0) 浏览(6)

Vim文件保存编码配置

post by 朦朧中的罪惡 / 2010-3-11 13:39 Thursday 软件应用

让Vim能正确显示和保存各种编码文件内容是个头疼的事情,今天专注的把这个问题研究一下

首先是Vim编码配置的三个选项:

encoding(enc):

此项目配置的是vim的默认显示编码,如果你打开的文件编码与该属性配置的编码不同,那么Vim会将编码自动转换到配置编码再显示

fileencodings(fencs):

此项目配置的是一个编码列表,Vim在读取文件的时候,会根据这里的编码自动检测,如果检测失败则尝试下一个,直到检测成功为止。如果一直没有转换成功,则此值会为空

fileencoding(fenc):

这个项目配置的是新建文件和保存文件时文件的编码,如果它的值与encoding(enc)不一样,那么保存的时候Vim会自动把文件内容由encoding(enc)的编码转换为fileencoding(fenc)配置编码再保存。而读取文件的时候,该选项的值会自动同步为fileencodings(fencs):配置的有效编码。

举例说明:

如果我们配置

encoding(enc):utf-8

fileencodings(fencs):utf-8,cp936

fileencoding(fenc):cp936

那么我们打开一个cp936编码的文件,Vim会将内容转换为utf-8格式来显示,但是保存的时候文件的编码却依然是cp936

如果我的工作环境主要是编辑utf-8,偶尔会修改一下cp936的编码,我们该怎么配置呢?

首先我们可以把fileencoding留空,然后只配置fileencodings(fencs):utf-8,cp936

按照上面的规则,Vim就会自动把文件保存为cp936的编码了

如果我编辑了一个utf-8文件,想把它以cp936的格式保存,该怎么办呢?

在命令行模式输入 :set fenc=cp936 然后保存文件即可,保存之后再输入:set fenc=utf-8就可以继续编辑其他utf-8文件了

 

标签: 软件应用 Vim

评论(0) 引用(0) 浏览(8)

Vim应用大收集

post by 朦朧中的罪惡 / 2010-3-10 14:32 Wednesday 软件应用

Vim,用会了就无敌了

阅读全文>>

标签: Vim

评论(1) 引用(0) 浏览(32)

Google使用高手进阶

post by 朦朧中的罪惡 / 2010-3-9 16:17 Tuesday 软件应用

本文转载自:http://lzhi.info/views/377

大前提:英文Google→www.google.com

第一篇

在搜索框上输入:“indexof/”inurl:lib

再按搜索你将进入许多图书馆,并且一定能下载自己喜欢的书籍。

在搜索框上输入:“indexof/”cnki

再按搜索你就可以找到许多图书馆的CNKI、VIP、超星等入口!

在搜索框上输入:“indexof/”ppt

再按搜索你就可以突破网站入口下载powerpint作品!

在搜索框上输入:“indexof/”mp3

再按搜索你就可以突破网站入口下载mp3、rm等影视作品!

在搜索框上输入:“indexof/”swf

再按搜索你就可以突破网站入口下载flash作品!

在搜索框上输入:“indexof/”要下载的软件名

再按搜索你就可以突破网站入口下载软件!

注意引号应是英文的!

再透露一下,如果你输入:

“indexof/”AVI

另补上第二篇

用GOOgle看世界!!!只要你在GOOGLE里输入特殊的关键字,就可以搜到数千个摄象头的IP地址!通过他你就可以看到其所摄的实时影象!!

在google里输入

inurl:”viewerframe?mode=”

随便打开一个,然后按提示装一个插件,就可以看到了!!!

再补上第三篇

三则黑客的Google搜索技巧简介

大家都知道,Google毫无疑问是当今世界上最强大的搜索引擎。然而,在黑客手中,它也是一个秘密武器,它能搜索到一些你意想不到的信息。赛迪编 者把 他们进行了简单的总结不是希望您利用他去攻击别人的网站,而是利用这些技巧去在浩如烟海的网络信息中,来个大海捞针,寻找到对您有用的信息。

如果您是一名普通网民,您可以使用黑客的技巧扩大自己的视野,提高自己的检索效率;如果您是一名网管,请您赶快看看您的网站是否做好了对下面黑客探 测手 段的防范措施,如果没有就赶快来个亡羊补牢,毕竟隐患胜于明火,防范胜于救灾;如果您是一名黑客,相信您早以在别的黑客站点上见过类似的方法,这篇文章对 您没什么用处,这里的技巧对您是小儿科,菜鸟级!您可以节省宝贵的时间做更有意义的事情,这篇文章您不用看了,到别处去吧!

基于上面的考虑我编发了这篇文章。

搜索URL

比如我们提交这种形式:passwd.txtsite:virtualave.net

看到了什么?是不是觉得太不可思议了!有很多基于CGI/PHP/ASP类型的留言板存在这种问题。有时我们得到密码甚至还是明码的!管理员或许太 不负 责了,或许安全防范的意识太差了,如果你是网络管理员,赶快检查一下不要让恶意攻击者捡了便宜。不要太相信DES加密,即使我们的密码经过DES加密的密 码,黑客们还是可以通过许多破解软件来搞定。

这次我们能得到包含密码的文件。“site:virtualave.net”意思是只搜索virutalave.net的URL。 virutalave.net是一个网络服务器提供商。

同样,我们可以搜索一些顶级域名,比如:.net.org.jp.in.gr

config.txtsite:.jp

admin.txtsite:.tw

搜索首页的目录

首页是非常有用的,它会提供给你许多有用的信息。

我们提交如下的形式:

“Indexof/admin”

“Indexof/secret”

“Indexof/cgi-bin”site:.edu

你可以自己定义搜索的首页字符。这样就可以获得许多信息。

搜索特定的文件类型

比如你想指定一种文件的类型,可以提交如下形式:

filetype:.docsite:.milclassified

这个就是搜索军方的资料,你可以自定义搜索。

再提供一个第四篇

Google的特殊功能

1、查询电话号码

Google的搜索栏中最新加入了电话号码和美国街区地址的查询信息。

个人如想查找这些列表,只要填写姓名,城市和省份。

如果该信息为众人所知,你就会在搜索结果页面的最上方看到搜索的电话和街区地址

你还可以通过以下任何一种方法找到该列表:

名字(或首位大写字母),姓,电话地区号

名字(或首位大写字母),姓,邮递区号

名字(或首位大写字母),姓,城市(可写州)

名字(或首位大写字母),姓,州

电话号码,包括区号

名字,城市,州

名字,邮递区号

2、查找PDF文件

现在GOOGLE的搜索结果中包括了PDF文件。尽管PDF文件不如HTML文件那么多,但他们经常具备一些其他文件不具备的高质量信息

为了显示一个搜索结果是PDF文件而不是网页,PDF文件的标题开头显示蓝色文本。

这就是让你知道ACRTOBATREADER程序会启动来阅读文件

如果你的计算机没装有该程序,计算机会指导你去能免费下载该程序的网页。

使用PDF文件时,相关的网页快照会由“TEXTVERSION”代替,它是PDF文档的复制文件,该文件除去了所有格式化命令。

如果你在没有PDF链接的情况下想看一系列搜索结果,只要在搜索栏中打上-inurldf加上你的搜索条件。

3、股票报价

用Google查找股票和共有基金信息,只要输入一个或多个NYSE,NASDAQ,AMEX或

共有基金的股票行情自动收录机的代码,也可以输入在股市开户的公司名字。

如果Google识别出你查询的是股票或者共有基金,它回复的链接会直接连到高质量的金融信息提供者提供的股票和共有基金信息。

在你搜索结果的开头显示的是你查询的股市行情自动收录器的代码。如果你要查找一家公司的名字(比如,INTEL),请查看“股票报价”在 Google搜索结果的金融栏里会有那个公司的主页的链接(比如, www. INTEL. COM)。

Google是以质量为基础来选择和决定金融信息提供者的,包括的因素有下载速度,用户界面及其功能。

4、找找谁和你链接

有些单词如果带有冒号就会有特殊的意思。比如link:操作员。查询link:siteURL,就会显示所有指向那个URL的网页。举例来说,链接 www. Google. com会向你显示所有指向GOOGLE主页的网页。但这种方法不能与关键字查询联合使用。

5、查找站点

单词site后面如果接上冒号就能够将你的搜索限定到某个网站。具体做法是:在c搜索栏中使用site:sampledomain.com这个语法 结构。比如,在斯坦福找申请信息,输入:

admissionsite: www. stanford. edu

6、查找字典释意

查找字典释意的方法是在搜索栏中输入你要查询的内容。在我们根据要求找到所有的字典释意都会标有下划线,位于搜索结果的上面,点击链接你会找到字典 提供者根据要求给出的相关定义。7、用GOOLGE查找地图

想用Google查找街区地图,在Google搜索栏中输入美国街区地址,包括邮递区号或城市/州(比如165大学大街PALOALTOCA)。通 常情况下,街区地址和城市的名字就足够了。

当Google识别你的要求是查找地图,它会反馈给你有高质量地图提供者提供的链接,使你直接找到相关地图。我们是以质量为基础选择这些地图提供 者。值得注意的是Google和使用的地图信息提供者没有任何关联。

标签: Google

评论(0) 引用(0) 浏览(26)

Firefox主题NAVER

post by 朦朧中的罪惡 / 2010-3-3 19:53 Wednesday Firefox

Firefox的皮肤NAVER,来自著名韩国著名搜索网站NAVER的日本分站,这是一款很清新的皮肤,网页Tab的浅绿色看着非常的舒服,喜欢的朋友不妨尝试一下!

点击查看原图

NAVER安装地址

https://addons.mozilla.org/en-US/firefox/addon/13232

标签: FireFox 主题

评论(2) 引用(0) 浏览(50)

JavaScript在不同浏览器下取得鼠标绝对位置函数

post by 朦朧中的罪惡 / 2010-3-3 14:32 Wednesday Javascript

首先不同浏览器中event位置属性的分析:

1. IE的event.x,event.y是以事件触发元素的父元素外界为参考点(不包括滚动距离)
2. Firefox的event.pageX,event.pageY是以body元素为参考点(包括滚动距离)
3. event.clientX,event.clientY以浏览器左上角为参考点(不包括滚动距离)
4. IE的event.offsetX,event.offsetY和Firefox的event.layerX,event.layerY以事件触发元素内界的左上角为参考点(包括滚动距离,当有边框时,可能出现负数)

然后是DOM对象高度属性分析

1. scrollHeight: 获取对象的滚动高度
2. scrollLeft:设置或获取位于对象左边界和窗口中目前可见内容的最左端之间的距离
3. scrollTop:设置或获取位于对象最顶端和窗口中可见内容的最顶端之间的距离
4. scrollWidth:获取对象的滚动宽度
5. offsetHeight:获取对象相对于版面或由父坐标 offsetParent 属性指定的父坐标的高度
6. offsetLeft:获取对象相对于版面或由 offsetParent 属性指定的父坐标的计算左侧位置
7. offsetTop:获取对象相对于版面或由 offsetTop 属性指定的父坐标的计算顶端位置

有了以上分析,写出两个取位置的函数

// 取X轴位置
function mouseX(evt) {
    // firefox
    if (evt.pageX) return evt.pageX;
    // IE
    else if (evt.clientX)
        return evt.clientX + (document.documentElement.scrollLeft ? document.documentElement.scrollLeft : document.body.scrollLeft);
    else return null;
}
// 取Y轴位置
function mouseY(evt) {
    // firefox
    if (evt.pageY) return evt.pageY;
    // IE
    else if (evt.clientY)
        return evt.clientY + (document.documentElement.scrollTop ? document.documentElement.scrollTop : document.body.scrollTop);
    else return null;
}

标签: JavaScript

评论(1) 引用(0) 浏览(38)

PHP使用empty检查函数返回结果时报Fatal error: Can't use function return value in write context的问题

post by 朦朧中的罪惡 / 2010-3-2 17:18 Tuesday PHP

PHP开发时,当你使用empty检查一个函数返回的结果时会报错:Fatal error: Can't use function return value in write context

例如:

<?php
echo empty(strlen('be-evil.org'));

到PHP手册里面查看,在empty函数描述的地方有以下文字:

Note: empty() only checks variables as anything else will result in a parse error. In other words, the following will not work: empty(trim($name)).

empty() 只检测变量,检测任何非变量的东西都将导致解析错误!

因此,我们不能拿empty来直接检测函数返回的值,上面例子的解决方案如下:

<?php

$length = strlen('be-evil.org');

echo empty($length);

 

标签: php

评论(1) 引用(0) 浏览(44)

如何下载Google Chrome离线安装版本?

post by 朦朧中的罪惡 / 2010-3-1 18:57 Monday 软件应用

Google Chrome默认是在线安装的,如果网速不好,那么安装的速度是相当的慢,如何解决这个问题呢?

当然是下载离线完整安装包,地址为:

http://www.google.com/chrome/eula.html?standalone=1

标签: Google Chrome

评论(1) 引用(0) 浏览(47)

PHP函数strtotime理解笔记

post by 朦朧中的罪惡 / 2010-2-28 20:39 Sunday PHP

官方手册里面对strtotime的描述:

strtotime() 函数将任何英文文本的日期时间描述解析为 Unix 时间戳。

那么意味着这个函数可以把2010-02-28 18:31:33转换为1267353093这种格式

但是使用它转换时间戳的时候要注意的是服务器的date.timezone的配置,在函数说明中有这么一段话

该函数将使用 TZ 环境变量(如果有的话)来计算时间戳。自 PHP 5.1.0 起有更容易的方法来定义时区用于所有的日期/时间函数。此过程在 date_default_timezone_get()  函数页面中有说明。

上面的话可以这么理解:

如果date.timezone配置为空或者为UTC(格林威治时间),那么它就会直接把传入的时间直接转换为该时间的UNIX时间戳(相当于该时间识别为格林威治时间)

如果date.timezone配置了时区,例如Asia/Shanghai,那么这个函数就会将传入的时间认为是配置的时区的当地时间,然后根据该时区与UTC(格林威治时间)的时差来算格林威治时间的时间戳。

例如:

php.ini配置date.timezone为Asia/Shanghai;

我们传入:2010-02-28 18:31:33

函数转出的时间戳的实际时间为:

2010-02-28 10:31:33

因为Asia/Shanghai位于 +8区,那么函数会自动减去了8个钟头的时间来得到格林威治时间

参考程序测试代码:

<?php
echo '2010-02-28 00:00:00';
echo '<br>';
// 格林威治时间 0
date_default_timezone_set('UTC');
echo gmdate('Y-m-d H:i:s', strtotime('2010-02-28 00:00:00'));
echo '<br>';
// 中国上海时间 + 8
date_default_timezone_set('Asia/Shanghai');
echo gmdate('Y-m-d H:i:s', strtotime('2010-02-28 00:00:00'));
echo '<br>';
// 美国洛杉矶时间 - 8
date_default_timezone_set('America/Los_Angeles');
echo gmdate('Y-m-d H:i:s', strtotime('2010-02-28 00:00:00'));
echo '<br>';

输出:

2010-02-28 00:00:00
2010-02-28 00:00:00
2010-02-27 16:00:00
2010-02-28 08:00:00

标签: php 原创

评论(0) 引用(0) 浏览(27)