2009年9月16日 星期三

GOGOBOX 搜尋引擎(PHP程式碼公開)

=======GOGOBOX 搜尋引擎(註記)===========

從寫好到現在已經過了一段時間了
大概搜到有五十多萬筆就停止了
原因主要是 :
  • 資料庫目前還是在自己的小筆電上面,要公開搜尋要移到"大主機"上
  • 本人沒有付費空間或是"大主機",只有免費空間
  • 免費空間放三十萬筆就爆了(修一修頂多放五十萬筆),但GOGOBOX有上百萬筆
  • 已經有人寫出來了,而且也夠好了
大概在前個禮拜停止之後,至今已經快要淡忘了= ="
所以決定在忘記之前,快點先寫出來 (BLOG+福球亂彈)

=======GOGOBOX 搜尋引擎(原理)===========

其實只是使用最簡單也最笨的搜尋方法 "蜘蛛爬行法" (不太清楚是不是這樣叫)

爬行的只有會員ID,然後每個ID裡面都有許多檔案

這些檔案就用內建的GOGOBOX搜尋器,去搜尋

本人是一次搜尋最多五百筆(當然,你要一次用更多都沒關係),如果超過五百筆就跳頁

(使用瀏覽器看最多五十筆,他是記錄在COOKIE,改成五百)

(程式碼裡面全部都可以很清楚的看到方法,歡迎大家討論)


=======GOGOBOX 搜尋引擎(PHP程式碼)===========
//(因為是邊測試邊寫,所以寫的超亂的,未整理過,請包含)
//(邊碼為UTF8)
//(PS此篇還需要先用CURL登入,並將SESSION記錄起來才可使用GOGOBOX內建搜尋)

//這邊是開始使用"蜘蛛爬行法"
//30000000 前面開頭的"3"也等於網址的開頭 http://box3.gogobox.com.tw
//要修改的話要全部修改(約有兩三個)
//由於PHP有時間限制,所以要先改過,本人約改成兩個小時
//然後一次五千筆(可以開好多個網頁一次進行)
for($a=20001;$a<=25000;$a++){

$no = $a + 30000000; //GOGOBOX 會員ID 也是BOX ID

gogo_load($no);//呼叫主程式

}


//GOGOBOX 搜尋引擎 主程式
function gogo_load($no){

$post['box_no']=$no;//GOGOBOX 會員ID 也是BOX ID

$post['nPageNo']='1';//搜尋第幾頁

$row_page=500;//一次筆數(使用GOGOBOX內建搜尋)

$cookie_file_path = "d:\cookie.txt";//紀錄SESSION的地方,GOGOBOX內建搜尋必須登入

$ch = curl_init();

curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);

curl_setopt($ch, CURLOPT_COOKIEJAR, $cookie_file_path);

curl_setopt($ch, CURLOPT_COOKIEFILE,$cookie_file_path);

//get info


//這行為登入的網址,要先登入一次GOGOBOX然後把記錄的SESSION記錄到上面的//d:\cookie.txt
//不過因為只用一次,之後都可以使用,所以登入的程式碼刪了 =="
//其實主要是因為是邊研究邊寫,所以之後覺得沒用,就...
//$login ='http://client.gogobox.com.tw:8000/caccessX';

$url = 'http://box3.gogobox.com.tw:8037/app/list_file.cgi?box_no='.$post['box_no'];

curl_setopt($ch, CURLOPT_URL,$url);

$num = curl_exec($ch);

$num = strip_tags($num,'');

$num = strstr($num,'全部資料夾');

$num = strstr($num,'(');

$num = (int)substr($num,1,6);

//以上是判斷是否有資料,如果有才執行以下"使用GOGOBOX內建搜尋 搜尋檔案"
//不過之後覺得這邊可以改一下,速度可以更快
if($num !=0){

$page = ceil($num/$row_page);

//===============================================

$url = 'http://box3.gogobox.com.tw:8037/app/list_file.cgi';



//$post['nPageNo']='1';

$once_num = 0;

for($i=1;$i<=$page;$i++){



load_gogobox($post['box_no'],$i,$num,$row_page,$page); //呼叫 使用GOGOBOX內建搜尋



}



}else{

echo $no.'&nbsp;';//if

}

curl_close ($ch);

}



//這邊就是發送資訊給GOGOBOX叫他搜尋某BOX的所有檔案
//一次搜尋五百筆(預設)

//然後取得資料
function load_gogobox($post_no,$i,$num,$row_page,$page){

$chx = curl_init();

$cookie_file_path = "d:\cookie.txt"; //登入SESSION都記錄在這邊

curl_setopt($chx, CURLOPT_RETURNTRANSFER, 1);

curl_setopt($chx, CURLOPT_COOKIEJAR, $cookie_file_path);

curl_setopt($chx, CURLOPT_COOKIEFILE,$cookie_file_path);



$url = 'http://box3.gogobox.com.tw:8037/app/list_file.cgi';

$post['box_no'] = $post_no; //GOGOBOX會員ID,BOX ID

$post['nPageNo'] = $i; //第幾頁

if($i==$page){

$once_num = $num%$row_page;

}else{

$once_num=$row_page;

}

curl_setopt($chx, CURLOPT_POST,1);

curl_setopt($chx, CURLOPT_URL,$url);

curl_setopt($chx, CURLOPT_POSTFIELDS, $post);


//GOGOBOX 是利用COOKIE來記錄要顯示幾筆
//很久以前看的時候沒有發現
//是前個月(應該吧)看他的JAVASCRIPT 才發現的 =="

curl_setopt($chx, CURLOPT_COOKIE, "CbFileBoxListCnt=".$row_page." ; path=/"); //顯示X筆

$result = curl_exec($chx);

gogobox($result,$once_num);//開始把GOGOBOX內建搜尋的結果(五百筆) 紀錄出來

curl_close ($chx);



}





function gogobox($content,$once_num){ //取回 分析 GOGOBOX內建搜尋
//主要就是一些字串處理


$content = strstr($content,'<!-- list table -->');

$content = substr($content,0,strpos($content,'<!-- list table END -->'));

//echo $content;

for($i=0;$i<$once_num;$i++){

$content = substr($content,strpos($content,'colspan=\'6\'')+10);



$content_link = strip_tags($content,'<td><a>');

$content_data = strip_tags($content,'<td>');





$title = strstr($content_data,'class=\'box_f_name\' valign=\'middle\'>');

$title = strstr($title,'>');

$title = trim(substr($title,1,strpos($title,'</td>')-1));



$name = strstr($content_data,'class=\'box_f_info_01tdu\'>');

$name = strstr($name,'>');

$name = trim(substr($name,1,strpos($name,'</td>')-1));

$size = strstr($content_data,'class=\'box_f_info_02\'>');

$size = strstr($size,'>');

$size = trim(substr($size,1,strpos($size,'</td>')-1));

$date = strstr($content_data,'class=\'box_f_info_04\'>');

$date = strstr($date,'>');

$date = trim(substr($date,1,strpos($date,'</td>')-1));



$link = strstr($content_link,'onClick="Copy_Link');

$link = strstr($link,'\'');

$link = substr($link,1);

$link = trim(substr($link,0,strpos($link,'\'')-1));

$return['file_title']=mysql_escape_string($title);

$return['file_name']=mysql_escape_string($name);

$return['file_size']=mysql_escape_string($size);

$return['file_link']=mysql_escape_string($link);

$return['db_date']=mktime();

//data_creat_some("gogobox",$return); //最後將字串都整理好後,建立到資料庫去
//這邊就不把此FUNCTION寫出來了,可以用var_dump($return)看資料
//之後即可自行應用


}

}


===============引用先前====================
引用先前發的 "GOGOBOX 搜尋引擎"
以下是之前研究GOGOBOX的原由

GOGOBOX 搜尋引擎
想必有許多人都也有想過吧!!
當初FINDBOX出來的時候,可是為之驚人啊!!
每天流量都爆破!!顆顆
但是不知怎麼的後來就消失了
======題外話======
(知道的人還請跟我說說吧!THX!~)
只知道之後GOGOBOX有改版
檔案的下載位置好像都有改變的樣子(不太記得了)
所以FINDBOX就失效了??? (I REALLY DONT KNOW)
(或是被警察伯伯抓了???這樣有犯法嗎??)
這一值都是我現在的疑問 顆顆

不過現在好像又有很多人有架類似的站吧!!
顆顆~~這邊也是其中之一
======題外話======

所以就決定再來試做一個 GOGOBOX搜尋引擎
於是就花了許多時間在研究他的檔案位置
最後是有得出一些結論 :
第一個 GOGOBOX 每個會員都有編號
第二個 GOGOBOX 每個檔案也都有編號
第三個 GOGOBOX 每個檔案下載位置都有加上會員編號
第四個 不知道怎麼不列會員編號就下載到檔案
最後 GOGOBOX 必須要有會員編號 和檔案編號才能下載 (不知道對不對)

但是還有一個線索,就是他每個會員BOX裡面都可以搜尋到他所PO的所有檔案

結合以上幾點就用PHP寫出了一個搜尋器

因為不可能直接使用GOGOBOX的搜尋引擎,所以大概就是要像GOOGLE一樣
把檔案都先搜索過然後存到資料庫,使用者再直接搜尋這個資料庫
這樣速度才OK

SO...

目前今天花了一個下午,大概寫出了一些,已經可以廣搜GOGOBOX了
不過速度有點慢 == 十分鐘 約 幾千個檔案而已
(過了幾天,目前約四十萬筆吧!!)
一切還在測試中,...至於公開程式碼 大概會慢一點公開
ps 目前搜了兩萬五千筆左右 == 離全部還好遠好遠
===============宣告====================
此篇內容僅供測試,如果有利用做不法行為,與本人無關

2009年9月12日 星期六

PHP SMARTY樣板處理程式

PHP SMARTY樣板處理程式

轉自福球亂彈(其實也是我自己打的 = =")

這是一個很好用的外掛程式

安裝極為簡單

只要解壓縮後

把下面的資料夾複製到你的網站資料夾下面即可

接下來只要引用即可



==================================

SMARTY簡介

==================================

1.smarty是甚麼?

是一個樣板處理程式,他主要是方便管理HTML和PHP之間的聯繫關係,也有將HTML和PHP分開的功能,"以便使用者管理網站"。而且在實際使用上,程式碼會簡潔許多。

2.為什麼非要用smarty?

當然不一定要使用,不過你一用,就會愛上的。

smarty主要功能就是把PHP和HTML程式分開放,這樣就能使專門設計HTML美觀方面的人,和專門寫PHP程式的人可以方便分工合作,使事情處理上更有效率。

而且使用smarty,也可以大量減少網頁數量。

一個PHP => 一個樣板 = 同性質所有功能的兩個檔案就可以處理完

一個PHP => 少量樣板 = 一個中小型網站可處理完畢。

多個PHP => 少量樣板 = 大型網站(論壇、多樣的互動網站)

3.甚麼時候用到smarty?

測試性PHP程式基本上不會用到,但只要有"介面"出現,用就對了!!



==================================

簡單教學

==================================

一開始在先看一下

smarty資料夾下面有兩個php程式

main.PHP

smarty_php.php

這兩個是最一開始處理SMARTY的程序

main.php 算是最原始的

smarty_main.php 是本人稍稍改過的(建議使用,已排除JAVASCRIPT問題)

基本上就不需要動這個檔案了

我們開始使用SMARTY

在PHP程式上面先 require('smarty/smarty_main.php');

此時就已經算是建立一個樣版了(smarty_main.php)



PHP部分

<?php

require('smarty/smarty_main.php'); //路徑沒問題吧!! 已經建立摟

//接下來可以直接使用,由於引入檔開啟CLASS的建立是用 $tpl 所以之後都要用$tpl

//將字串傳到樣板,用assign

$tpl -> assign("trans_title","我是要給HTML顯示的抬頭");

$tpl -> assign("trans_body","我是要給HTML顯示內容");

//可以用很多次,意思是可以設定很多個變量(自己隨便設)



//接下來就可以展現樣版了,很EASY吧

$tpl -> display('tmp/test.html'); //路徑應該知道吧!!

?>





HTML樣板部分

<html>

<title>{{$trans_title}}</title>

<body>

{{$trans_body}}

</body>

</html>



這樣就可以了,php就會開啟此樣板,並把變量傳過來,然後顯示



最後的輸出結果(看到的)



網頁的標題就會是 "我是要給HTML顯示的抬頭"

內容只有 "我是要給HTML顯示內容"



最後的輸出結果(html)



<html>

<title>我是要給HTML顯示的抬頭</title>

<body>

我是要給HTML顯示內容

</body>

</html>



就是這樣,簡單吧!!

這樣就可以隨便把變數放在自己想要的地方

如果不用樣版的話,就必須在php裡面寫html,會變得很麻煩的喔!!



先這樣吧!! 以後再打稍為進階一點的 =="


smarty.rar (93.54 KB)

2009年8月29日 星期六

GOGOBOX 搜尋引擎

GOGOBOX 搜尋引擎

========================================
9/17
現在已經公布 "GOGOBOX搜尋引擎PHP程式碼" 摟!!

請到 福球亂彈 (方便討論喔!!)

GOGOBOX 搜尋引擎 PHP程式碼公開

或是

本BLOG (有意見或建議可留言喔!!)

GOGOBOX 搜尋引擎 PHP程式碼公開


觀看最新版本
========================================
9/1
剛剛把已經把搜到的GOGOBOX檔案部分上傳到免費空間了
(三十萬筆,因為空間不夠= =)
可以測試看看,不過此空間的廣告有點討厭 = ="
福球亂彈 => 福球程式設計(PHP) => PHP主題討論 => GOGOBOX搜尋引擎測試
順便廣告一下論壇 ==

歡迎大家來討論!!

========================================


最近和朋友想說要架一個論壇
主要是要放一些和興趣相關的內容
當然有程式設計的版面摟!!

福球亂彈 歡迎大家參觀,也歡迎一起經營喔(誠摯的邀請版主ING)!!
PHP版
(還在計畫中,請不要嫌棄)

再分配管理版面的時候,當然我就是負責"電腦"這方面的板塊~呵呵
但是想阿想的!
最重要的,還是要有主打的東西吧!!
這樣才有吸引人的地方。

再想阿想的,就想到了 GOGOBOX 搜尋引擎
想必有許多人都也有想過吧!!
當初FINDBOX出來的時候,可是為之驚人啊!!
每天流量都爆破!!顆顆
但是不知怎麼的後來就消失了
======題外話======
(知道的人還請跟我說說吧!THX!~)
只知道之後GOGOBOX有改版
檔案的下載位置好像都有改變的樣子(不太記得了)
所以FINDBOX就失效了??? (I REALLY DONT KNOW)
(或是被警察伯伯抓了???這樣有犯法嗎??)
這一值都是我現在的疑問 顆顆

不過現在好像又有很多人有架類似的站吧!!
顆顆~~這邊也是其中之一
======題外話======

所以就決定再來試做一個 GOGOBOX搜尋引擎
於是就花了許多時間在研究他的檔案位置
最後是有得出一些結論 :
第一個 GOGOBOX 每個會員都有編號
第二個 GOGOBOX 每個檔案也都有編號
第三個 GOGOBOX 每個檔案下載位置都有加上會員編號
第四個 不知道怎麼不列會員編號就下載到檔案
最後 GOGOBOX 必須要有會員編號 和檔案編號才能下載 (不知道對不對)

但是還有一個線索,就是他每個會員BOX裡面都可以搜尋到他所PO的所有檔案

結合以上幾點就用PHP寫出了一個搜尋器

因為不可能直接使用GOGOBOX的搜尋引擎,所以大概就是要像GOOGLE一樣
把檔案都先搜索過然後存到資料庫,使用者再直接搜尋這個資料庫
這樣速度才OK

SO...

目前今天花了一個下午,大概寫出了一些,已經可以廣搜GOGOBOX了
不過速度有點慢 == 十分鐘 約 幾千個檔案而已
(過了幾天,目前約四十萬筆吧!!)
一切還在測試中,...至於公開程式碼 大概會慢一點公開
ps 目前搜了兩萬五千筆左右 == 離全部還好遠好遠
(目前想辦法讓論壇人氣多一點,所以想讓此搜尋變成主打 顆顆 (作夢ing))
最後 歡迎大家來參觀福球亂彈

==============END=================

2009年8月22日 星期六

PHP 自動更新進入yahoo 搶拍賣 PART II 新版

之後又寫了一個版本的


搶拍賣(日貨)用的程式,就是會固定幾秒就搜索一次賣家的帳號,只要最上面的連結改變(表示PO新貨)

馬上就會進去新的頁面
==============================================
使用方法

第一格式輸入YAHOO賣家的網址(清單瀏覽,新貨出現在最上面)

然後可以按送出試試看

下面會出現一行 就是目前最新的物品

如果不是出現現在最新的物品

可以在第二格輸入數字

從 0 開始 01234...

就是要列出目前最新的物品連結

OK之後就點 START 就會開始每X秒自動掃一次

在後面的 下面這行的5就是每五秒掃一次 可以自己改變

echo '<meta http-equiv="refresh" content="5; url=test.php">';

PS 不過此版本還是不能脫逃 YAHOO 999的命運
每五秒一次 大概十五分鐘就壽命終結 ==

目前努力研究逃脫YAHOO 999 的命運

歡迎一起討論^^

最新發現!!!

最近測試發現
用APACHE 傳送過多造成999
IE FIREFOX 還是可以正常瀏覽
因此這裡可能就是可以破解的地方!!

==============================================

<form name="form1" method="get" action="test.php">

<input type="text" name="url" id="textfield">

<input type="submit" name="button" id="button" value="送出">

<input name="num" type="text" id="num">

<input type="submit" name="star" id="star" value="star">

<input type="submit" name="stop" id="stop" value="stop">

</form>

<?php

session_start();

if(isset($_GET['url']) and @$_GET['url'] != ''){

$_SESSION['url']=$_GET['url'];

}

if(isset($_SESSION['url'])){

$url = $_SESSION['url'];

}else{

$url ="http://tw.user.bid.yahoo.com/tw/user/lainjp98?userID=lainjp98&catID=&catIDselect=&clf=&u=:lainjp98&s1=ptime&o1=d&at=false";

}

if(isset($_GET['num']) and @$_GET['num'] != ''){

$_SESSION['num']=$_GET['num'];

}

if(isset($_SESSION['num'])){

$next = $_SESSION['num'];

}else{

$next = 1;

}

$fp =fopen($url,"r");

$content = stream_get_contents($fp);

$content = str_replace('刊登時間','||',$content);

$content = strstr($content,'||');

$content = strip_tags($content,'<a>');

$content = substr($content,60);

$i=0;

//$next = 5;

while($content = strstr($content,'<')){

//$content = strstr($content,'<');

$pos = strpos($content,'>')+1;

$pos = strpos($content,'>',$pos)+1;

$content_link = substr($content,0,$pos);

$content = substr($content,$pos);

if($i==$next){

if(@$_SESSION['check'] ==1){

if($_SESSION['temp'] != $content_link){

$content_link = strstr($content_link,'"');

$content_link = substr($content_link,1);

$pos = strpos($content_link,'"');

$content_link = substr($content_link,0,$pos);

echo '<meta http-equiv="refresh" content="1; url='.$content_link.'">';

}



}

if(@$_GET['star'] =='star'){

$_SESSION['temp']=$content_link;

$_SESSION['check'] =1;

}

echo $content_link."<br>";

}

$i++;

}

if(@$_GET['stop'] =='stop'){

$_SESSION['check'] =0;

}

if(@$_SESSION['check'] ==1){

echo '<meta http-equiv="refresh" content="5; url=test.php">';

}

fclose($fp);

?>

2009年8月12日 星期三

C++學習檔案 < 亂數列排大小+輸入值列出位置 >

C++學習檔案 < 亂數列排大小+輸入值列出位置 >


< 亂數列排大小+輸入值列出位置 >

#include <iomanip>

#include <iostream>

#include <time.h>

#include <stdlib.h>

using namespace std;

int main() {

srand(time(0));

int o[15],n[15],m=0,t;

for(int i=0;i<15;i++){

o[i] = rand()%100;

n[i] = 0;

cout << setw(3) << o[i];

}

cout <<endl;

for(int j=0;j<15;j++){

for(int i=0;i<15;i++){

if( o[i] > n[j]){

n[j] = o[i];

m=i;

}

}

o[m] =0;

cout << setw(3) << n[j];

}

cout <<endl<<"plz input integer value" << endl;

cin >> t;

for(int i=0;i<15;i++){

if(n[i]==t){

cout << "integer " << n[i] << " was fount in site " << i+1 <<endl;

}

}

system("pause");

return 0;

}


================END==============

C++學習檔案 < 河內塔 (1.FOR迴圈)+(2.遞迴) >

C++學習檔案 < 河內塔 (1.FOR迴圈)+(2.遞迴) >

1. 河內塔 for迴圈寫法
(包含實體位置)(單陣列從零開始)

當三個的時候
陣列位置

2 | 5 | 8
1 | 4 | 7
0 | 3 | 6
---------
1 | 2 | 3 (塔)
---------
以此類推 (每行最後兩個)

心得:
物品123
柱子ABC
河內塔最簡單的原理就是
1->2->3->1->2->3.... 一直巡迴
每一次都判斷柱子a->b->c->a.....
(請看程式碼,有點亂= =)


#include <iomanip>

#include <iostream>

using namespace std;


int main() {

int b,n,t=0,p=1,j=0,n2,n3,sum=0;

cin >> n;


int *a = new int[n*3] ;



b=1;

for(int i=(n*3-1);i>=0;i--){

if(i<n)

a[i]=b++;



else

a[i]=0;

}


while(1){

n2=j%(n*3);

n3=t%(n*3);


//cout <<p <<n2<<a[n2]<<n3<<a[n3]<<endl;

if(p==a[n2]){

for(int k=0;k<n;k++){//判斷上面是否有東西

if(n2%n==k){

if(a[(j+1)%(n*3)] !=0){

//cout<<"b";

t=j;

p==n?p=1:p++;

}

}

}

}

if(p==a[n2]){

t=j;//暫存

//cout <<p <<endl;

// cout <<n2<<endl;

}

if((a[n3]==p &&a[n2]==0 && n2%n==0)||(a[n3]==p &&a[n2]==0 && n2%n!=0 && a[(j-1)%(n*3)] > p )){//移動+判斷

a[n2]=p;

a[n3]=0;

cout<<"item:"<<setw(3)<<p <<" from:"<<setw(3)<< n3/n+1<<" to:"<<setw(3)<<n2/n+1<<setw(5)<< n3<<setw(3)<<n2<<endl;

sum++;


}



if(n2 ==(t-1)%(n*3) ){

p==n?p=1:p++;//j=0;



}


j++;




if(a[(n*2-1)]==1 || a[(n*3-1)]==1)

break;



}

cout << "sum:" <<sum<<endl;

system("pause");



}




====================================
2. 河內塔 遞迴寫法

不包含位置


#include <iostream>

using namespace std;


void hanoi(int,char*,char*,char*);


int main()

{

cout << "input a number:";

int number;

cin >> number;


char p1[]="A";

char p2[]="B";

char p3[]="C";


hanoi(number,p1,p2,p3);

system("pause");

return 0;

}


void hanoi(int n,char* p1,char* p2,char* p3)

{

if(n==1){

cout << "no." << n << " from " << p1 << " to " << p3 << endl;

}else{

hanoi(n-1,p1,p3,p2);

cout << "no." << n << " from " << p1 << " to " << p3 << endl;

hanoi(n-1,p2,p1,p3);

}

}



=======END======

C++學習檔案 <亂數數列並列出大小順序>

C++學習檔案 <亂數數列並列出大小順序>

EX

14 59 60 23
4 2 1 3




#include <iomanip>

#include <iostream>

#include <time.h>

#include <stdlib.h>


using namespace std;


int main() {

int n,max=0,maxo=0;

cin >> n;

int *s = new int[n] ;

srand ( time(NULL) );

for(int i=1;i<n;i++){

s[i] = rand () %100;

cout << setw(3)<<s[i] ;

}

cout << endl;

for(int k=1;k<n;k++){

int j=0; for( j=1;j<n;j++){

if(s[j]>max){

max = s[j];

maxo=j;

}

}

cout << setw(3) << maxo;

s[maxo]=0;

max=0;

}


system("pause");

return 0;

}

2009年8月9日 星期日

C++學習檔案

C++學習檔案 n階


1*2*3*4*5*6...


#include
using namespace std;
int nn(int,int,int);
int main() {
int i=1,n,s=1;
cout << "輸入數:起始 和 結束"; cin >> i;
cin >> n;
cout << s =" s*i;">




======================

N階別種寫法

輸入起始值和結束值
EX
4
7
就是
4*5*6*7

#include <iostream>

using namespace std;

int nn(int,int,int);

int main() {

int i=1,n,s=1;

cout << "輸入數:起始 和 結束";

cin >> i;

cin >> n;

cout << nn(i,s,n) << endl;


system("pause");

return 0;

}



int nn(int i,int s,int n) {

if(n < i) {

return s;

}else{

s = s*i;

i++;

return nn(i,s,n);

}

}


==============================

N階遞迴寫法


#include <iostream>

using namespace std;

int nn(int,int,int);

int fun(int n);

int main() {

int i=1,n,s=1;

cout << "輸入數" << endl;



cin >> n;


cout << fun(n);

system("pause");

return 0;

}


int fun(int n){

if(n==1)

return 1;

else

return fun(n-1)*n;

}


2009年8月8日 星期六

C++學習檔案 <數列前兩項相加>

C++學習檔案 <數列前兩項相加>

就是要顯示

1 1 2 3 5 8 13 21 ....

這樣的數列 ,每項都是前兩項相加


#include <iostream>

#include <iomanip>

using namespace std;

int main(){

int n,n1=1,n2=1,sum = 0;

cin >> n;

cout << setw(4) << n1 << setw(4)<< n2 ;

for(int i=0;i<n;i++){

i%2==0?n1=n1+n2:n2=n1+n2;

i%2==0?cout<< setw(4) << n1:cout << setw(4) << n2;

//if(i%2 == 0){

// n1=n1+n2;

// cout << n1 << endl;

// }else{

// n2=n1+n2;

// cout << n2 << endl;

// }

}

system("pause");

return 0;

}


============================
別種寫法



#include <iostream>

using namespace std;

int main() {

int fib[100];

int n;



cin >> n;

cout << endl;



for(int i=1;i<=n;i++){

if(i==1||i==2){

fib[i]=1;

}

else{

fib[i]=fib[i-1]+fib[i-2];

}

cout << fib[i] << endl;

}





system("pause");

return 0;

}

2009年8月6日 星期四

楓之谷外掛教學&測試(詳細圖片)(ME MoonlightEngine)(CT)(2009/8)

楓之谷外掛教學&測試(詳細圖片)(ME MoonlightEngine)(CT)
另外需求檔: 超炫彩繪CT檔
系統:VISTA
測試時間: 2009/8
測試程式: ME MoonlightEngine
原理: 修改記憶體
結果 : 成功(一開始失敗,將防毒(記憶體問題)暫時關閉即可)
====================================================
檔案位置: http://www.badongo.com/file/16621226
下載
PS 之前忘記放了,原本想說就算了,不過應觀眾要求!!顆顆
(掃毒會掃到毒,自行決定是否使用,還有 "僅供測試")
====================================
發表此篇目的僅為測試,文章僅供參考,使用外掛也請小心被鎖帳號,本人一律不負責
由於程式非本人寫的,如果電腦當機、中毒(目前沒有發現),本人一律不負責

PS 此文章已經久遠
================================



圖看不到可以點進去看喔!

1.解壓縮後

ME【雙核心單核心都可用】的資料夾內容

(PS. *.tmp 一開始沒有,應該是使用後楓之谷之後的暫存檔案)
寄件者 楓之谷外掛


2.開啟 MoonLight Engine HS.reg

會出現,點 "是"
寄件者 楓之谷外掛


在點"確定"
寄件者 楓之谷外掛


3.開啟 Systemretriever.exe
點選 "YES"
寄件者 楓之谷外掛


接下來程式會跑

寄件者 楓之谷外掛


然後 點 OK

寄件者 楓之谷外掛


4.開啟主要外掛程式 MoonlightEngine.exe

會出現一個視窗 點 "OK"
(如果有出現錯誤 八成是 防毒軟體 的原因 , 防毒會防止記憶體修改)

寄件者 楓之谷外掛


接下來會出現主程式

寄件者 楓之谷外掛


5.接下來開啟楓之谷
進入遊戲
寄件者 楓之谷外掛


6. 然後按 Tab + Alt跳出楓之谷 回到外掛程式

寄件者 楓之谷外掛


點選上面有一個開啟的圖案(main ct 的下面) ,然後會出現下面

寄件者 楓之谷外掛


接下來選取 CT檔案

寄件者 楓之谷外掛


7.然後選擇 CT (main的右邊)
會出現CT檔的內容

寄件者 楓之谷外掛


8.接下來就是重點了,要改記憶體了

先打勾下列(打勾一個就會全打勾)

寄件者 楓之谷外掛


接下來右邊 ADDRESS 和 VALUE 的值就會改變

寄件者 楓之谷外掛


然後在你想要的功能的下面 "輸入EIP" 點右鍵
(這邊是 跳怪+走怪掉落)

寄件者 楓之谷外掛


寄件者 楓之谷外掛


然後選最下面一個
出現

寄件者 楓之谷外掛


然後將 EIP 前面打勾

寄件者 楓之谷外掛


然後在 EIP 輸入 上面 EIP ("輸入EIP" 上面一行) 右邊的ADDRESS

寄件者 楓之谷外掛

然後點選 OK

這樣就可以 走怪和跳怪掉落

9.接下來是使用綠色部分的功能

寄件者 楓之谷外掛


綠色字後面都會有說明使用方法
一樣 右鍵 然後選最後一個 (這邊是移動加速)

寄件者 楓之谷外掛


然後 "移動加速" 後面是 ZF[V][]
就將右邊的 ZF 後面打勾 (這邊只有左邊打勾)

寄件者 楓之谷外掛


這樣就會移動加速摟!!

10.接下來是動態數據的功能

寄件者 楓之谷外掛


打勾即可(如果效果失效,在打勾取消 然後 再打勾即可)

寄件者 楓之谷外掛
================================
最近好像是不是有改版啊 ? 如果有改版的話,可能就要換一個CT檔摟!!
還請各位大大告知~ 已經有一段時間沒碰楓之谷了
(因為前些日子帳號被鎖,有些@%&am#*)
================================
PS 要自動練功 就把 攻擊不停,MISS OR 閃避 開啟,怪物掉落 等等(請自行測試)
然後再用 "掛機程式" >> "MapleGM.exe" 即可。
================================
發表此篇目的僅為測試,文章僅供參考,使用外掛也請小心被鎖帳號,本人一律不負責
由於程式非本人寫的,如果電腦當機、中毒(目前沒有發現),本人一律不負責
================================

本人目前沒有在玩了...