1 #include<stdio.h>
2 #include<iostream>
3 #include<cmath>
4 #include<iomanip>
5 #include<set>
6 using namespace std;
7 void sieve(set<int>& s,int n)
8 {
9 int m,i;
10 s.erase(s.begin (),s.end ());//一定要清空
11 for(i=2;i<n;i++)
12 s.insert (i);
13 int t=sqrt(n);
14 for(m=2;m<=t;m++)
15 {
16 if(s.find (m)!=s.end())
17 {
18 i=2*m;
19 while(i<=n)
20 {
21 s.erase (i);
22 i+=m;
23 }
24 }
25 }
26 }
27 int main()
28 {
29 set<int> primeSet;
30 int n;
31 int ccount=0;
32 while(1)
33 {
34 cin>>n;
35 ccount=0;
36 sieve(primeSet,n);
37 set<int>::iterator iter;
38 iter=primeSet.begin ();
39 while(iter!=primeSet.end ())
40 {
41 ccount++;
42
43 cout<<*iter<<" ";
44 iter++;
45 if(ccount%10==0)
46 cout<<endl;
47 }
48 cout<<endl<<ccount <<endl;
49 }
50 return 0;
51 }
素?cái)?shù)篩法是這樣的:
1.開一個(gè)大的bool型數(shù)組prime[],大小就是n+1就可以了.先把所有的下標(biāo)為奇數(shù)的標(biāo)為true,下標(biāo)為偶數(shù)的標(biāo)為false.
2.然后:
for( i=3; i<=sqrt(n); i+=2 )
{ if(prime[i])
for( j=i+i; j<=n; j+=i ) prime[j]=false;
}
3.最后輸出bool數(shù)組中的值為true的單元的下標(biāo),就是所求的n以內(nèi)的素?cái)?shù)了。
原理很簡(jiǎn)單,就是當(dāng)i是質(zhì)(素)數(shù)的時(shí)候,i的所有的倍數(shù)必然是合數(shù)。如果i已經(jīng)被判斷不是質(zhì)數(shù)了,那么再找到i后面的質(zhì)數(shù)來把這個(gè)質(zhì)
數(shù)的倍數(shù)篩掉。
一個(gè)簡(jiǎn)單的 篩素?cái)?shù)的過程:n=30。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30
第 1 步過后2 4 ... 28 30這15個(gè)單元被標(biāo)成false,其余為true。
第 2 步開始:
i=3; 由于prime[3]=true, 把prime[6], [9], [12], [15], [18], [21], [24], [27], [30]標(biāo)為false.
i=4; 由于prime[4]=false,不在繼續(xù)篩法步驟。
i=5; 由于prime[5]=true, 把prime[10],[15],[20],[25],[30]標(biāo)為false.
i=6>sqrt(30)算法結(jié)束。
第 3 步把prime[]值為true的下標(biāo)輸出來:
for(i=2; i<=30; i++)
if(prime[i]) printf("%d ",i);
結(jié)果是 2 3 5 7 11 13 17 19 23 29
frustum culling,多重紋理,....
摘要: 做到這80條,我們就結(jié)婚 閱讀全文
http://www.test-your-english-now.net/
今天在這個(gè)網(wǎng)站上面做了一下詞匯量測(cè)試
果然是不行啊,只有56/80的成績(jī)
等我把GT考完了再過來測(cè)一次,看看我能有多少
拍照片
|
|
去旅行
|
|
小敗給我做飯吃
|
|
陪小敗去燙頭發(fā)
|
|
教小敗JAVA
|
|
買小甘薯
|
|
研究一下網(wǎng)站的東西
|
|
做gym
|
|
跟小敗回北京看爸媽
|
|
去跟小敗做陶藝
|
|
跟小敗去印帶有我們照片的T-Shirt
|
|
本來想直接用GCD解決的,后來找了一下,發(fā)現(xiàn)了更好的辦法
歐拉函數(shù) :
歐拉函數(shù)是數(shù)論中很重要的一個(gè)函數(shù),歐拉函數(shù)是指:對(duì)于一個(gè)正整數(shù) n ,小于 n 且和 n 互質(zhì)的正整數(shù)(包括 1)的個(gè)數(shù),記作 φ(n) 。
完全余數(shù)集合:
定義小于 n 且和 n 互質(zhì)的數(shù)構(gòu)成的集合為 Zn ,稱呼這個(gè)集合為 n 的完全余數(shù)集合。 顯然 |Zn| =φ(n) 。
有關(guān)性質(zhì):
對(duì)于素?cái)?shù) p ,φ(p) = p -1 。
對(duì)于兩個(gè)不同素?cái)?shù) p, q ,它們的乘積 n = p * q 滿足 φ(n) = (p -1) * (q -1) 。
這是因?yàn)?Zn = {1, 2, 3, ... , n - 1} - {p, 2p, ... , (q - 1) * p} - {q, 2q, ... , (p - 1) * q} , 則 φ(n) = (n - 1) - (q - 1) - (p - 1) = (p -1) * (q -1) =φ(p) * φ(q) 。
歐拉定理 :
對(duì)于互質(zhì)的正整數(shù) a 和 n ,有 aφ(n) ≡ 1 mod n 。
證明:
( 1 ) 令 Zn = {x1, x2, ..., xφ(n)} , S = {a * x1 mod n, a * x2 mod n, ... , a * xφ(n) mod n} ,
則 Zn = S 。
① 因?yàn)?a 與 n 互質(zhì), xi (1 ≤ i ≤ φ(n)) 與 n 互質(zhì), 所以 a * xi 與 n 互質(zhì),所以 a * xi mod n ∈ Zn 。
② 若 i ≠ j , 那么 xi ≠ xj,且由 a, n互質(zhì)可得 a * xi mod n ≠ a * xj mod n (消去律)。
( 2 ) aφ(n) * x1 * x2 *... * xφ(n) mod n
≡ (a * x1) * (a * x2) * ... * (a * xφ(n)) mod n
≡ (a * x1 mod n) * (a * x2 mod n) * ... * (a * xφ(n) mod n) mod n
≡ x1 * x2 * ... * xφ(n) mod n
對(duì)比等式的左右兩端,因?yàn)?xi (1 ≤ i ≤ φ(n)) 與 n 互質(zhì),所以 aφ(n) ≡ 1 mod n (消去律)。
注:
消去律:如果 gcd(c,p) = 1 ,則 ac ≡ bc mod p ⇒ a ≡ b mod p 。
代碼如下:
import java.util.*;
import java.io.*;

public class Solution
  {
public static void main (String[] argv) throws IOException
 {
BufferedReader in = new BufferedReader(new InputStreamReader(System.in));
StringTokenizer st = new StringTokenizer(in.readLine());
int n = Integer.parseInt(st.nextToken());
double j = n;
for (int i = 2; i <= n;i++)
if (n%i==0)
 {
j = j * (1 - 1/(double)i);
while (n%i==0)
n = n / i;
}
System.out.println((int)j);
}
}


Oracle Spatial 簡(jiǎn)介:
首先,Oracle 支持自定義的數(shù)據(jù)類型,你可以用數(shù)組,結(jié)構(gòu)體或者帶有構(gòu)造函數(shù),功能函數(shù)的類來定義自己的對(duì)象類型。這樣的對(duì)象類型可以用于屬性列的數(shù)據(jù)類型,也可以用來創(chuàng)建對(duì)象表。而Oracle Spatial也正是基于此種特性所開發(fā)的一套空間數(shù)據(jù)處理系統(tǒng)。
Spatial 的自定義數(shù)據(jù)類型有很多,都在MDSYS方案下,經(jīng)常使用的是SDO_GEOMETRY類型。SDO_GEOMETRY表示一個(gè)幾何對(duì)象,可以是點(diǎn)、線、面、多點(diǎn)、多線、多面或混合對(duì)象。
Spatial 在此數(shù)據(jù)類型的基礎(chǔ)上,實(shí)現(xiàn)了R樹空間索引和四叉樹空間索引,還以sql函數(shù)的形式實(shí)現(xiàn)了多種空間分析功能。
Oracle Spatial 使用:
1、將SDO_GEOMETRY數(shù)據(jù)類型作為數(shù)據(jù)表的一個(gè)列。
CREATE TABLE cola_markets (
mkt_id NUMBER PRIMARY KEY,
name VARCHAR2(32),
shape MDSYS.SDO_GEOMETRY);
2、填寫空間元數(shù)據(jù)。
INSERT INTO USER_SDO_GEOM_METADATA
VALUES (
'cola_markets',
'shape',
MDSYS.SDO_DIM_ARRAY( -- 20X20 grid
MDSYS.SDO_DIM_ELEMENT('X', 0, 20, 0.005),
MDSYS.SDO_DIM_ELEMENT('Y', 0, 20, 0.005)
),
NULL -- SRID
);
3、創(chuàng)建空間索引。
CREATE INDEX cola_spatial_idx
ON cola_markets(shape)
INDEXTYPE IS MDSYS.SPATIAL_INDEX;
至此,空間數(shù)據(jù)表的創(chuàng)建才算正式完成 。
4、插入空間數(shù)據(jù)。空間數(shù)據(jù)的插入要
INSERT INTO cola_markets VALUES(
2,
'cola_b',
MDSYS.SDO_GEOMETRY(
2003, -- 2-dimensional polygon
NULL,
NULL,
MDSYS.SDO_ELEM_INFO_ARRAY(1,1003,1), -- one polygon (exterior polygon ring)
MDSYS.SDO_ORDINATE_ARRAY(5,1, 8,1, 8,6, 5,7, 5,1)
)
);
5、空間分析查詢示例。
-- Return the topological difference of two geometries.
SELECT SDO_GEOM.SDO_DIFFERENCE(c_a.shape, m.diminfo, c_c.shape, m.diminfo)
FROM cola_markets c_a, cola_markets c_c, user_sdo_geom_metadata m
WHERE m.table_name = 'COLA_MARKETS' AND m.column_name = 'SHAPE'
AND c_a.name = 'cola_a' AND c_c.name = 'cola_c';
我們可能應(yīng)該回答的第一個(gè)問題也是最基本的問題。什么是面向 服務(wù)的體系結(jié)構(gòu)(Service-Oriented Architecture, SOA)?這個(gè)問題的答案實(shí)際上涉及與開發(fā)相關(guān)的若干不同方面。
SOA 是一種 IT 體系結(jié)構(gòu)樣式,支持將您的業(yè)務(wù)作為鏈接服務(wù)或可重復(fù)業(yè)務(wù)任務(wù)進(jìn)行集成,可在需要時(shí)通過網(wǎng)絡(luò)訪問這些服務(wù)和任務(wù)。這個(gè)網(wǎng)絡(luò)可能完全包含在您的公司總部?jī)?nèi),也可能分散于各地且采用不同的技術(shù),通過對(duì)來自紐約、倫敦和香港的服務(wù)進(jìn)行組合,可讓最終用戶感覺似乎這些服務(wù)就安裝在本地桌面上一樣。需要時(shí),這些服務(wù)可以將自己組裝為按需應(yīng)用程序——即相互連接的服務(wù)提供者和使用者集合,彼此結(jié)合以完成特定業(yè)務(wù)任務(wù),使您的業(yè)務(wù)能夠適應(yīng)不斷變化的情況和需求(在有些情況下,甚至不需要人工干預(yù))。
這些服務(wù)是自包含的,具有定義良好的接口,允許這些服務(wù)的用戶——稱為客戶機(jī)或使用者——了解如何與其進(jìn)行交互。從技術(shù)角度而言,SOA 帶來了“松散耦合”的應(yīng)用程序組件,在此類組件中,代碼不一定綁定到某個(gè)特定的數(shù)據(jù)庫(kù)(甚至不一定綁定到特定的基礎(chǔ)設(shè)施)。正是得益于這個(gè)松散耦合特性,才使得能夠?qū)⒎?wù)組合為各種應(yīng)用程序。這樣還大幅度提高了代碼重用率,可以在增加功能的同時(shí)減少工作量。由于服務(wù)和訪問服務(wù)的客戶機(jī)并未彼此綁定,因此可以完全替換用于處理訂單的服務(wù),下訂單的客戶機(jī)-服務(wù)將永遠(yuǎn)不會(huì)知道這個(gè)更改。所有交互都是基于“服務(wù)契約”進(jìn)行的;服務(wù)契約用于定義服務(wù)提供者和客戶機(jī)之間的交互。通常,您將通過創(chuàng)建“基于消息的”系統(tǒng)來實(shí)現(xiàn)此目標(biāo)。
從業(yè)務(wù)的角度來說,面向服務(wù)的體系結(jié)構(gòu)的重點(diǎn)在于開發(fā)能幫助您完成業(yè)務(wù)任務(wù)的技術(shù),而不是通過技術(shù)約束來規(guī)定您的行動(dòng)。例如,銷售過程(制造、運(yùn)輸和收到貨款)可能會(huì)涉及數(shù)十個(gè)步驟和若干不同的數(shù)據(jù)庫(kù)和計(jì)算機(jī)系統(tǒng)。但就其實(shí)質(zhì)而言,此過程包含一系列人工活動(dòng),例如:
﹡銷售人員找到潛在客戶
﹡客戶訂購(gòu)產(chǎn)品
﹡生產(chǎn)部門制造產(chǎn)品
﹡生產(chǎn)部門發(fā)出產(chǎn)品
﹡收款部門開具產(chǎn)品帳單
﹡客戶支付產(chǎn)品貨款
面向服務(wù)的體系結(jié)構(gòu)基于這些實(shí)際活動(dòng)或業(yè)務(wù)服務(wù)進(jìn)行組織,而不是形成公司所維護(hù)的不同的信息豎井 (Silo)。通過實(shí)現(xiàn) SOA,可以帶來大量好處,包括以下各個(gè)方面:
﹡更高的業(yè)務(wù)和 IT 一致性
﹡基于組件的系統(tǒng)
﹡松散耦合的組件和系統(tǒng)
﹡基于網(wǎng)絡(luò)的基礎(chǔ)設(shè)施,允許分散于各地且采用不同技術(shù)的資源協(xié)同工作
﹡動(dòng)態(tài)構(gòu)建的按需應(yīng)用程序
﹡更高的代碼重用率
﹡更好地標(biāo)準(zhǔn)化整個(gè)企業(yè)內(nèi)的流程
﹡更易于集中企業(yè)控制
|
|
隨筆:99
文章:-1
評(píng)論:17
引用:0
| 日 | 一 | 二 | 三 | 四 | 五 | 六 |
---|
27 | 28 | 29 | 30 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 1 | 2 | 3 | 4 | 5 | 6 | 7 |
|
留言簿(1)
隨筆分類
隨筆檔案
相冊(cè)
搜索
最新評(píng)論

|
|