tft每日頭條

 > 科技

 > 判斷素數的算法c語言

判斷素數的算法c語言

科技 更新时间:2025-02-26 01:08:31

今天我們用scratch的小程序來判定質數。

判斷素數的算法c語言(Scratch3.0編程小課堂37算法題)1

判定質數提問

判斷素數的算法c語言(Scratch3.0編程小課堂37算法題)2

判定質數1

判斷素數的算法c語言(Scratch3.0編程小課堂37算法題)3

判定質數2

題目:給你一個大于1的自然數,請判斷它是合數還是質數。

角色:小貓;

知識點:質數,循環,選擇,偵測,變量;

質數知識普及:

概念:質數就是隻有1和它自身兩個因數的數。

判定質數的方法:

1)直觀判斷法:根據定義,直接判斷從2到n-1是否存在n的約數,就是看n能不能被2到n-1中的某個數整除。隻要有一個數能被n整除,n就是合數;如果都不能被n整除,n就是質數。比如79,我們就看它能不能被2到78中的某一個數整除。

2)算術平方根判斷法:上述判斷方法,明顯存在效率極低的問題。對于每個數n,其實并不需要從2判斷到n-1,我們知道,一個數若可以進行因數分解,那麼分解時得到的兩個數一定是一個小于等于sqrt(n),一個大于等于sqrt(n),據此,上述代碼中并不需要遍曆到n-1,遍曆到sqrt(n)即可,因為若sqrt(n)左側找不到約數,那麼右側也一定找不到約數。

一、準備工作

1、背景和角色:今天的小程序背景和角色都使用系統默認的;

2、變量:新建兩個變量,分别命名為“n”和“i”,變量n存儲需要判定的數,變量i作為循環變量;

判斷素數的算法c語言(Scratch3.0編程小課堂37算法題)4

判斷素數的算法c語言(Scratch3.0編程小課堂37算法題)5

變量i

二、編輯腳本

1、初始化,變量賦值:兩個變量初始化為0,偵測到輸入的數後,給變量n賦值“回答”,變量i賦值2,表示從2開始試除;

判斷素數的算法c語言(Scratch3.0編程小課堂37算法題)6

變量初始化賦值

2、循環條件:當循環變量i大于變量n的算術平方根時,退出循環,說明沒有可以整除變量n的數,當前的數n為質數;

判斷素數的算法c語言(Scratch3.0編程小課堂37算法題)7

循環條件

3、選擇判斷1:循環體内部使用有兩個分支的選擇結構,“如果……那麼……否則……”,如果從2開始有可以整除n的數,即n/i餘數為0,那麼變量n就是合數,停止全部腳本;

判斷素數的算法c語言(Scratch3.0編程小課堂37算法題)8

選擇判斷1

4、選擇判斷2:否則,從2開始到n的算術平方根,逐一判斷如果不能整除n,即n/i餘數不為0,那麼給變量i增加1,繼續循環;

判斷素數的算法c語言(Scratch3.0編程小課堂37算法題)9

選擇判斷2

三、完整腳本

判斷素數的算法c語言(Scratch3.0編程小課堂37算法題)10

完整腳本

想一想,如果想使用直觀判斷法的話,怎麼修改腳本呢?

,

更多精彩资讯请关注tft每日頭條,我们将持续为您更新最新资讯!

查看全部

相关科技资讯推荐

热门科技资讯推荐

网友关注

Copyright 2023-2025 - www.tftnews.com All Rights Reserved