UVA 10006 埃氏篩法+快速冪

本題目使用費馬定理時,我隨機定義了10個數字,循環用費馬小定理判斷,數組中的值不用和我的相同,隨機即可。

#include <iostream>
using namespace std;
typedef unsigned long long ll;
bool isPrime[65007];
ll a[10];
void initA()
{a[0] = 33;a[1] = 97;a[2] = 65;a[3] = 42;a[4] = 61;a[5] = 74;a[6] = 1000;a[7] = 1500;a[8] = 10000;a[9] = 3222;
}
void sieve()
{for (int i = 0; i <= 65000; i++){isPrime[i] = true;}isPrime[0] = false;isPrime[1] = false;for (int i = 1; i * i <= 65000; i++){if (!isPrime[i]){continue;}for (int j = 2 * i; j <= 65000; j += i){isPrime[j] = false;}}
}
ll mulMod(ll a, ll b, ll mod)
{ll res = 0;while (b){if (b & 1){res = (res + a) % mod;}a = (a << 1) % mod;b = b >> 1;}return res;
}
ll powMod(ll a, ll b, ll mod)
{ll res = 1;while (b){if (b & 1){res = mulMod(res, a, mod);}a = mulMod(a, a, mod);b = b >> 1;}return res;
}
bool fermet(int p)
{ll n = p;for (int i = 0; i < 10; i++){int powNumber = powMod(a[i], n, n);if (powNumber != (a[i] % n)){return false;}}return true;
}
bool judgeVal(int p)
{return fermet(p) && !isPrime[p];
}
int main()
{initA();sieve();int p = 0;while (true){scanf("%d", &p);if (p == 0){break;}if (judgeVal(p)){printf("The number %d is a Carmichael number.\n", p);}else{printf("%d is normal.\n", p);}}return 0;
}

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/42690.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/42690.shtml
英文地址,請注明出處:http://en.pswp.cn/news/42690.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

【Unity細節】Unity中的層級LayerMask

&#x1f468;?&#x1f4bb;個人主頁&#xff1a;元宇宙-秩沅 hallo 歡迎 點贊&#x1f44d; 收藏? 留言&#x1f4dd; 加關注?! 本文由 秩沅 原創 &#x1f636;?&#x1f32b;?收錄于專欄&#xff1a;unity細節和bug &#x1f636;?&#x1f32b;?優質專欄 ?【…

Mybatis Plus中使用LambdaQueryWrapper進行分頁以及模糊查詢對比傳統XML方式進行分頁

傳統的XML分頁以及模糊查詢操作 傳統的XML方式只能使用limit以及offset進行分頁&#xff0c;通過判斷name和bindState是否為空&#xff0c;不為空則拼接條件。 List<SanitationCompanyStaff> getSanitationStaffInfo(Param("name") String name,Param("bi…

前端---需要了解瀏覽器相關知識--瀏覽器請求服務器資源---緩存

知識點1: 掘金1&#xff1a;瀏覽器緩存 掘金2 :瀏覽器緩存 一、瀏覽器緩存 請求&#xff08;靜態資源 &#xff5c; 動態資源&#xff09; 一、緩存是什么&#xff1f; 如果沒有緩存的機制 每次都要重新請求靜態資源 1.從網絡上的下載時間&#xff0c;肯定大于從硬盤里讀的…

【S32K 進階之旅】S32K 芯片的解鎖

在使用 S32K1xx MCU 的過程中&#xff0c;因為某些不當操作導致芯片被鎖、加密的情況偶有發生&#xff0c;在此總結一篇如何解鎖芯片的文檔&#xff0c;希望能夠幫到有需要的人。 1. S32K 芯片被鎖的現象及原因分析1&#xff09;在S32K 系列 MCU 開發和生產過程中&#xff…

mac os M1 安裝并啟動 postgreSQL 的問題

Homebrew 安裝 postgreSQL brew install postgresql啟動 brew services start postgresql但報錯&#xff1a; uninitialized constant Homebrew::Service::System解決方案 brew doctor按照 brew doctor 中的建議進行操作&#xff0c;如果不行&#xff0c;如下&#xff1a; h…

常用系統命令

重定向 cat aa.txt > bbb.txt 將輸出定向到bbb.txt cat aaa.txt >> bbb.txt 輸出并追加查看進程 ps ps -ef 顯示所有進程 例?&#xff1a;ps -ef | grep mysql |&#xff1a;管道符 kill pid 結束進程&#xff0c; 如 kill 3732&#xff1b;根據進程名結束進程可以先…

Qt使用qml(QtLocation)顯示地圖

一、qt版本和QtLocation模塊版本確認 如果qt版本過低的話是沒有QtLocation模塊的&#xff0c;我的版本如下 構建工具版本如下 二、qml代碼編寫 1、工程中添加模塊 首先在工程中添加模塊quickwidgets positioning location 2、添加資源文件 3、在資源文件中添加qml文件 …

Jenkins改造—nginx配置鑒權

先kill掉8082的端口進程 netstat -natp | grep 8082 kill 10256 1、下載nginx nginx安裝 EPEL 倉庫中有 Nginx 的安裝包。如果你還沒有安裝過 EPEL&#xff0c;可以通過運行下面的命令來完成安裝 sudo yum install epel-release 輸入以下命令來安裝 Nginx sudo yum inst…

windows上的docker自動化部署到服務器腳本

1、mvn install后&#xff0c;雙擊這個bat&#xff0c;實現docker build后上傳到124服務器&#xff0c;并且重啟124服務器 **echo offsetlocal:: 定義鏡像名稱和版本變量 set IMAGE_NAMEweb set IMAGE_VERSION1.3.1:: 清理本地文件 echo Cleaning up... del service-%IMAGE_N…

中大許少輝博士中國建筑出版傳媒八一新書《鄉村振興戰略下傳統村落文化旅游設計》百度百科新聞

中大許少輝博士中國建筑出版傳媒八一新書《鄉村振興戰略下傳統村落文化旅游設計》百度百科新聞&#xff1a; 鄉村振興戰略下傳統村落文化旅游設計 - 百度百科 https://baike.baidu.com/item/鄉村振興戰略下傳統村落文化旅游設計/62588677 概覽 《鄉村振興戰略下傳統村落文化旅游…

c++——靜態成員變量、靜態成員函數和const修飾的靜態成員變量

一、c靜態成員變量 在C中&#xff0c;靜態成員變量&#xff08;Static Member Variable&#xff09;是類的一種特殊類型的成員變量&#xff0c;它被類的所有實例共享&#xff0c;而不是每個實例都有自己的副本。靜態成員變量在類的所有對象之間保持唯一的狀態&#xff0c;具有…

MySQL 中文全文檢索

創建索引&#xff08;MySQL 5.7.6后全文件索引可用WITH PARSER ngram&#xff0c;針對中文&#xff0c;日文&#xff0c;韓文&#xff09; ALTER TABLE 表 ADD FULLTEXT 索引名 (字段) WITH PARSER ngram;或者CREATE FULLTEXT INDEX 索引名 ON 表 (字段) WITH PARSER ngram; …

Redisson實現分布式鎖示例

一、引入依賴 <dependency><groupId>org.redisson</groupId><artifactId>redisson</artifactId><version>3.16.0</version></dependency>二、配置類 import org.redisson.Redisson; import org.redisson.api.RedissonClient;…

使用opencv進行文本增強

文本增強: import cv2 import numpy as np# 讀取圖像 image = cv2.imread(E:/image.jpg, cv2.IMREAD_GRAYSCALE)# 二值化圖像 _, binary_image = cv2.threshold(image, 0, 255, cv2.THRESH_BINARY | cv2.THRESH_OTSU)# 膨脹操作 kernel = np.ones((3, 3), np.uint8) dilated_…

Python Flask藍圖使用

使用示例&#xff1a; user.py from utils.sql import supabase from flask import Blueprint,request, session from utils.entity import r user_bp Blueprint(user, __name__, url_prefix/user)"""----------------------------------------API: 用戶登錄…

Hadoop學習:深入解析MapReduce的大數據魔力(三)

Hadoop學習&#xff1a;深入解析MapReduce的大數據魔力&#xff08;三&#xff09; 3.5 MapReduce 內核源碼解析3.5.1 MapTask 工作機制3.5.2 ReduceTask 工作機制3.5.3 ReduceTask 并行度決定機制 3.6 數據清洗&#xff08;ETL&#xff09;1&#xff09;需求2&#xff09;需求…

uni-app封裝api請求

前端封裝api請求 前端封裝 API 請求可以提高代碼的可維護性和重用性&#xff0c;同時使得 API 調用更加簡潔和易用。 下面是一種常見的前端封裝 API 請求的方式&#xff1a; 創建一個 API 封裝模塊或類&#xff1a;可以使用 JavaScript 或 TypeScript 創建一個獨立的模塊或類來…

Java數據庫連接池原理及spring boot使用數據庫連接池(HikariCP、Druid)

和線程池類似&#xff0c;數據庫連接池的作用是建立一些和數據庫的連接供需要連接數據庫的業務使用&#xff0c;避免了每次和數據庫建立、銷毀連接的性能消耗&#xff0c;通過設置連接池參數可以防止建立連接過多導致服務宕機等&#xff0c;以下介紹Java中主要使用的幾種數據庫…

【學習FreeRTOS】第11章——FreeRTOS中任務相關的其他API函數

1.函數總覽 序號函數描述1uxTaskPriorityGet()獲取任務優先級2vTaskPrioritySet()設置任務優先級3uxTaskGetNumberOfTasks()獲取系統中任務的數量4uxTaskGetSystemState()獲取所有任務的狀態信息5vTaskGetInfo()獲取單個任務的狀態信息6xTaskGetCurrentTaskHandle()獲取當前任…

Excel自動化辦公——Openpyxl的基本使用

Excel自動化辦公——Openpyxl的基本使用 個人感覺&#xff0c;相比Pandas&#xff0c;openpyxl對Excel的操作更為細致&#xff0c;Pandas則更適用于統計計算&#xff1b; 01 基本環境02 Excel數據讀取操作03 案例04 向Excel寫入數據05 表數據定向修改06 單元格樣式制定07 單元…