素數的判斷

素數(又稱質數):就是除了1和它本身,沒有其他因數的整數。註:1既不是素數,也不是合數。一、素數的一種簡單演算法(C)素數即只能被1和其本身整除的數,判斷n是否為素數只需用2~n/2之間的數去除就可以了。因為一個數的一半的平方大於其本身是從5開始的,解方程:n/2的平方>n 。即一個數n的兩個因數不能同時比n/2大。就可以說一個數若不是素數則一定在2~n/2之間有因數。而且2,3也是符合下面程式的。#include <stdio.h>main(){int

float double 比較大小問題

一、類型float和double通過==,>,<等比較不會引起編譯錯誤,但是非常可能得到錯誤的結果。這是因為它們的記憶體分布不同,不可以直接比較。正確的方法是轉換為同一類型後比較兩者差值,如果結果小於規定的小值,則視為相等。#define   eps  XXXconst double eps = XXX;XXX 一般取  1e-6.這兩種都可以。然後 用 fabs(a - b) < eps   判斷是否相等。二、1.

訊號量 互斥鎖 自旋鎖 原子操作

本文轉自:http://blog.163.com/hbu_lijian/blog/static/126129153201261722410353/核心同步措施(用於linux核心)    為了避免並發,防止競爭。核心提供了一組同步方法來提供對共用資料的保護。我們的重點不是介紹這些方法的詳細用法,而是強調為什麼使用這些方法和它們之間的差別。   

VC介面庫

GuiToolkit(開源,類似Visual Studio 2003風格)http://www.beyondata.com/default.htmGardenUI(免費,介面效果挺好的,XML,代碼 介面 分離)http://www.gardenui.com/CJLib(開源,免費,UNICODE編碼,是xtreme toolkit的前生,但xtreme

perror, strerror 顯示errno對應的字串錯誤資訊

2012-02-14 wcdj  Happy Valentine's Day !出錯處理 —— 查看 errno,在定位錯誤資訊的時候很有用當UNIX函數出錯時,常常返回一個負值,而且整形變數 errno 通常被設定為含有附加資訊的一個值。(注意,不是所有情況都是)在檔案<errno.h>中定義了符號errno以及可以賦予它的各種常量,這些常量都以字元 E 開頭。注意:(1) 通過 man 3 errno,查看錯誤常量的具體資訊。(2) The <errno.h>

實用程式碼片段

 CString->TCHAR*的轉化可以用函數GetBuff() 函數原型為:LPTSTR GetBuffer( int nMinBufLength );CString str("CString"); TCHAR* szMsg = new TCHAR[100]; //其參數為CString字串的長度 szMsg = str.GetBuffer(str.GetLength()); str.ReleaseBuffer(); delete []szMsg; szMsg =

ACM 進階指南

ACM 進階指南ACM隊不是為了一場比賽而存在的,為的是隊員的整體提高。大學期間,ACM隊隊員必須要學好的課程有:l C/C++兩種語言l 高等數學l 線性代數l 資料結構l 離散數學l 資料庫原理l 作業系統原理l 電腦群組成原理l 人工智慧l 編譯原理l

【5.4.2 因子和階乘】

輸入正整數n(2<=n<=100),把階乘n!=1*2*3*...*n分解成素因子相乘的形式,從小到大輸出各個素數(2、3、5...)的指數。例如,5! 表示為 3,1, 1個2, 3, 5。程式忽略比最大素因子更大的素數(否則末尾會有無窮多個0)。範例輸入:553範例輸出:5! = 3 1 1 53! = 49 23 12 8 4 4 3 2 2 1 1 1 1 1 1 1 [分析]因為a^m * a^n = a^(m+n),所以我們只需把所有素因子對應的指數累加起來 。注意,n&

快速排序思想分析

快速排序是1962年提出的一種劃分交換排序。它採用了一種分治的策略,通常稱為分治法(Divide-and-Conquer Method)。分治法的基本思想:將原問題分解為若干個規模更小但結構與原問題相似的子問題。遞迴地解這些子問題,然後將這些子問題的解組合為原問題的解。快速排序的基本思想:設當前待排序的無序區為R[low..high],利用分治法可將快速排序的基本思想描述為:(1)

【125 盜夢空間】

盜夢空間時間限制:3000 ms  | 

將基於MFC的對話方塊應用程式修改為服務程式

Windows(NT/2000)下有很多服務程式(它們在系統登入前運行),它們一般都沒有介面,我們可以在服務管理員(運行services.msc)中啟動和關閉它們。下面我試著修改一個有介面的MFC對話方塊程式,使它成為一個服務程式。網上提到了一種方法就是,從建立一個COM服務程式入手,然後將一個MFC項目改造成服務程式,最後讓這一程式在啟動時可以顯示圖形介面。這種方法的優點就是,程式嚮導已經幫我們寫好了服務程式的主要代碼,我們的任務就是把它們移植到MFC程式中(這個方法很不錯!)。我的方法和這種

隔行掃描之鋸齒消除(2)

 消除鋸齒的方法很多,它們有各自不同的應用情況,不能一概而論,那樣往往得不到好的效果。 如何能較好的水除鋸齒,並且能很好的保持映像的細節,因為顧此失彼的話,這樣會把事情弄的更糟。 最近我看了不少的關於這方面的論文,其中的一篇,讓我覺得很是不錯,但是論文的內容寫的過於簡略,很多的細節沒有給出。在此我介紹一個它的大概的思想:首先通過分水嶺演算法得到映像的邊緣(Unsupervised watershed-driven region-based image

撲克牌鬥牛遊戲

2013-02-14 wcdj  大年初五,情人節過年和家人玩撲克牌鬥牛遊戲(地道的發音是 Dou Ou),規則很簡單,每個人發五張牌,如果三張牌之和是10,20或30則稱為一個牛(Ou),其餘兩張牌相加之和模10,若沒有牛則選最大的一張牌進行大小點比較,若大小點一樣則再比較黑紅梅方,玩家人數不限,一個人做莊,然後拿點零花錢,後面就看各自的運氣了。抽空將此遊戲簡單用代碼實現了下,一些地方還可以最佳化。// 2013-02-14 wcdj#include

Equalizer 的兩個簡單程式的運行

Equalizer是優秀的opengl中介軟體;它是開源軟體,且允許商業使用。新手入門或瞭解的最好方式是運行一個簡單的程式,看一下效果,但對於裡面的概念一時不太容易理解。在此,我給出說明,你只需要按照步驟一步步,即可運行出兩個小例子首先是安裝windows下的安裝包一、單機 三個視窗1、設定檔使用已有設定檔,不需要做任何修改2、在安裝目錄的bin目錄下,建立檔案runserver.bat檔案內容eqServer.exe "c:\Program Files\Equalizer

第一次使用xxx_cast的小經驗

以前只是在別人的代碼或者是架構自動產生的程式碼中見到過這些操作符:const_cast,dynamic_cast,reinterpret_cast,static_cast。自己程式裡還是喜歡寫(BYTE*)p或者(LPCTSTR)p這樣的。這兩種轉換效果上通常沒有區別,用()轉不過來的,改成用xxx_cast也一樣轉不過來;用()會給出警告的,改成用xxxx_cast也一樣給出警告。後來 寫某程式的時候有很多地址加減操作。代碼裡面滿是(BYTE *)(((DWORD)p) +

[非技術]HCAL—程式員職業病之一

有的人身處國外或者英語環境,說久了英文便會忘記中文怎麼說。程式員也是一樣,習慣了和電腦打交道,便會在不知不學中喪失與人溝通的能力,這也可以看作是一種職業病---因為它會影響你的日常生活,甚至職業生涯。HCAL---Human Communication Ability

TransparentBlt與Alphablend

 這是前兩天遇到的一個問題,一幅圖片含有要透明(或要屏蔽),即不顯示的顏色(TransParentBlt),而且還需要使其半透明(AlphaBlend),例如顯示效果為一個圓形的半透明球。上網搜了一下也沒找到什麼有用的資訊,因此自己沒辦法自己想了一下,解決方案如下:void AlphaBmp(HDC hdc,HBITMAP hBitmap,int x,int y,short limit,HRGN hRgn,COLORREF col){  BLENDFUNCTION blendfunc;HDC

vc Ansic-Unicode處理

1.ANSIC與Unicode字元  兩者區別就不多少了,一個單位元組一個雙位元組,Unicode可以表示更多的字元,適合諸如漢字的文字系統.  定義使用寬字元:  2.聲明Unicode字元與及字串方法:  _T()宏需要包含tchar.h1   wchar_t c=L'A'; 2   wchar_t szBuffer[10]=L"A String";3    WinNt.h定義了一下宏: 1 #ifdef UNICODE  2  typedef WCHAR TCHAR ,*PTCHAR,PT

PDF學習(一)

PDF(Portable Document Format)檔案格式是Adobe公司開發的電子檔案格式。這種檔案格式與作業系統平台無關,也就是說,PDF檔案不管是在Windows,Unix還是在蘋果公司的Mac

WM_CLOSE WM_QUIT WM_DESTROY

有三個訊息看 起來差不多,都是處理關閉的事情的。它們是WM_DESTROY,WM_CLOSE,和WM_QUIT。它們的確很相似,但你需要知道它們之間的不同!一 個視窗或者應用程式應該被關閉時發出WM_CLOSE訊息,當接收到WM_CLOSE訊息時,如果你願意,向使用者提出是否真的退出。你知道讓使用者作確認或 有錯誤出現或有什麼應該注意的事情發生的時候,往往彈出一個訊息框。插播訊息框 int MessageBox( HWND hWnd, // handle of owner

總頁數: 61357 1 .... 9322 9323 9324 9325 9326 .... 61357 Go to: 前往

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.