Теорія подільності на множині цілих чисел

Автор: Пользователь скрыл имя, 01 Декабря 2010 в 01:26, курсовая работа

Описание работы

Дана курсова робота присвячена вивченню теорії подільності на множині цілих чисел. Дана тема є актуальною і маю навчально-пізнавальний характер.

Содержание

Вступ 3
1.ДІЛЕННЯ НА МНОЖИНІ ЦІЛИХ ЧИСЕЛ. 4
1.1. Відношення подільності та його властивості. Ділення з остачею.
4
1.2. Найбільший спільний дільник. Алгоритм Евкліда 7
1.3. Найменше спільне кратне 9
2. ПРОСТІ І СКЛАДЕНІ ЧИСЛА 12
2.1. Прості числа і їх властивості. 12
2.2. Розклад складених чисел на прості множники. 13
2.3.Нескінченість множини простих чисел. Решето Ератосфена. 15
Додаток А. 17
Додаток Б. 20
Список використаної літератури 24

Работа содержит 1 файл

1.doc

— 515.00 Кб (Скачать)

 

      Додаток А.

     Алгоритм  пошуку НСД та НСК.

     #include "stdafx.h"

     #include "Evk.h"

     #include "EvkDlg.h" 

     #ifdef _DEBUG

     #define new DEBUG_NEW

     #undef THIS_FILE

     static char THIS_FILE[] = __FILE__;

     #endif 

     class CAboutDlg : public CDialog

     {

     public:

           CAboutDlg(); 

     // Dialog Data

           //{{AFX_DATA(CAboutDlg)

           enum { IDD = IDD_ABOUTBOX };

           //}}AFX_DATA 

           // ClassWizard generated virtual function overrides

           //{{AFX_VIRTUAL(CAboutDlg)

           protected:

           virtual void DoDataExchange(CDataExchange* pDX);    // DDX/DDV support

           //}}AFX_VIRTUAL 

     // Implementation

     protected:

           //{{AFX_MSG(CAboutDlg)

           //}}AFX_MSG

           DECLARE_MESSAGE_MAP()

     }; 

     CAboutDlg::CAboutDlg() : CDialog(CAboutDlg::IDD)

     {

           //{{AFX_DATA_INIT(CAboutDlg)

           //}}AFX_DATA_INIT

     } 

     void CAboutDlg::DoDataExchange(CDataExchange* pDX)

     {

           CDialog::DoDataExchange(pDX);

           //{{AFX_DATA_MAP(CAboutDlg)

           //}}AFX_DATA_MAP

     } 

     BEGIN_MESSAGE_MAP(CAboutDlg, CDialog)

           //{{AFX_MSG_MAP(CAboutDlg)

                 // No message handlers

           //}}AFX_MSG_MAP

     END_MESSAGE_MAP() 
 

     CEvkDlg::CEvkDlg(CWnd* pParent /*=NULL*/)

           : CDialog(CEvkDlg::IDD, pParent)

     {

           //{{AFX_DATA_INIT(CEvkDlg)

           m_1 = 0;

           m_2 = 0;

           m_3 = 0;

           m_4 = 0;

           //}}AFX_DATA_INIT

           // Note that LoadIcon does not require a subsequent DestroyIcon in Win32

           m_hIcon = AfxGetApp()->LoadIcon(IDR_MAINFRAME);

     } 

     void CEvkDlg::DoDataExchange(CDataExchange* pDX)

     {

           CDialog::DoDataExchange(pDX);

           //{{AFX_DATA_MAP(CEvkDlg)

           DDX_Text(pDX, IDC_EDIT1, m_1);

           DDX_Text(pDX, IDC_EDIT2, m_2);

           DDX_Text(pDX, IDC_EDIT3, m_3);

           DDX_Text(pDX, IDC_EDIT4, m_4);

           //}}AFX_DATA_MAP

     } 

     BEGIN_MESSAGE_MAP(CEvkDlg, CDialog)

           //{{AFX_MSG_MAP(CEvkDlg)

           ON_WM_SYSCOMMAND()

           ON_WM_PAINT()

           ON_WM_QUERYDRAGICON()

           //}}AFX_MSG_MAP

     END_MESSAGE_MAP() 

     BOOL CEvkDlg::OnInitDialog()

     {

           CDialog::OnInitDialog(); 

           // Add "About..." menu item to system menu. 

           // IDM_ABOUTBOX must be in the system command range.

           ASSERT((IDM_ABOUTBOX & 0xFFF0) == IDM_ABOUTBOX);

           ASSERT(IDM_ABOUTBOX < 0xF000); 

           CMenu* pSysMenu = GetSystemMenu(FALSE);

           if (pSysMenu != NULL)

           {

                 CString strAboutMenu;

                 strAboutMenu.LoadString(IDS_ABOUTBOX);

                 if (!strAboutMenu.IsEmpty())

                 {

                       pSysMenu->AppendMenu(MF_SEPARATOR);

                       pSysMenu->AppendMenu(MF_STRING, IDM_ABOUTBOX, strAboutMenu);

                 }

           } 

           // Set the icon for this dialog.  The framework does this automatically

           //  when the application's main window is not a dialog

           SetIcon(m_hIcon, TRUE);   // Set big icon

           SetIcon(m_hIcon, FALSE);  // Set small icon 

           // TODO: Add extra initialization here 

           return TRUE;  // return TRUE  unless you set the focus to a control

     } 

     void CEvkDlg::OnSysCommand(UINT nID, LPARAM lParam)

     {

           if ((nID & 0xFFF0) == IDM_ABOUTBOX)

           {

                 CAboutDlg dlgAbout;

                 dlgAbout.DoModal();

           }

           else

           {

                 CDialog::OnSysCommand(nID, lParam);

           }

     } 

     void CEvkDlg::OnPaint()

     {

           if (IsIconic())

           {

                 CPaintDC dc(this); // device context for painting 

                 SendMessage(WM_ICONERASEBKGND, (WPARAM) dc.GetSafeHdc(), 0); 

                 // Center icon in client rectangle

                 int cxIcon = GetSystemMetrics(SM_CXICON);

                 int cyIcon = GetSystemMetrics(SM_CYICON);

                 CRect rect;

                 GetClientRect(&rect);

                 int x = (rect.Width() - cxIcon + 1) / 2;

                 int y = (rect.Height() - cyIcon + 1) / 2; 

                 // Draw the icon

                 dc.DrawIcon(x, y, m_hIcon);

           }

           else

           {

                 CDialog::OnPaint();

           }

     } 

     // The system calls this to obtain the cursor to display while the user drags

     //  the minimized window.

     HCURSOR CEvkDlg::OnQueryDragIcon()

     {

           return (HCURSOR) m_hIcon;

     } 

     void CEvkDlg::OnOK()

     {

           UpdateData(TRUE);

           int t1,t2, oo;

           t1 = m_1;

           t2 = m_2;

           m_3 = 1;

           if(m_2 != 0)

           {

                 while(m_3 != 0)

                 {

                       if((m_1 % m_2) == 0)

                       {

                             m_3 = m_2;

                             break;

                       }

                       else

                       {

                             oo = m_3;

                             m_3 = m_1 % m_2;

                             m_1 = m_2;

                             m_2 = m_3;

                       } 

                 }

           }

           else

                 m_3 = 0;

           m_1 = t1;

           m_2 = t2; 

           m_4 = m_1*m_2/m_3;

           UpdateData(FALSE);

           //CDialog::OnOK();

     } 

     Додаток Б.

     Алгоритм  програми «Решито Ератосфена»

     #include "stdafx.h"

     #include "Erat.h"

     #include "EratDlg.h"

     #include <list>

     #include <math.h> 

     #ifdef _DEBUG

     #define new DEBUG_NEW

     #undef THIS_FILE

     static char THIS_FILE[] = __FILE__;

     #endif 

     using namespace std; 

     class CAboutDlg : public CDialog

     {

     public:

           CAboutDlg(); 

     // Dialog Data

           //{{AFX_DATA(CAboutDlg)

           enum { IDD = IDD_ABOUTBOX };

           //}}AFX_DATA 

           // ClassWizard generated virtual function overrides

           //{{AFX_VIRTUAL(CAboutDlg)

           protected:

           virtual void DoDataExchange(CDataExchange* pDX);    // DDX/DDV support

           //}}AFX_VIRTUAL 

     // Implementation

     protected:

           //{{AFX_MSG(CAboutDlg)

           //}}AFX_MSG

           DECLARE_MESSAGE_MAP()

     }; 

     CAboutDlg::CAboutDlg() : CDialog(CAboutDlg::IDD)

     {

           //{{AFX_DATA_INIT(CAboutDlg)

           //}}AFX_DATA_INIT

     } 

     void CAboutDlg::DoDataExchange(CDataExchange* pDX)

     {

           CDialog::DoDataExchange(pDX);

           //{{AFX_DATA_MAP(CAboutDlg)

           //}}AFX_DATA_MAP

Информация о работе Теорія подільності на множині цілих чисел