質數,在我之前的c語言課上就已經學過了,今天的題目與他有關:
總結一下意思:你輸入乙個數,記作l;接著需要你從2開始將質數給累加起來,這個累加的和不得超過l,就是說不能有越界的操作;然後,將得到的所有質數挨個輸出,並且輸出質數的個數,得到結果。
其中判斷是否為質數就是乙個需要高精的演算法了,不然又過不了測試點。
我的**如下:
#include
using
namespace std;
int sum =2;
int l, m=0;
intf
(int n)
else
}return1;
}}intmain()
} cout << m;
return0;
}
基本意思都用了,對於每乙個數判斷一下,累加的乙個數字也在每次判斷為質數之後加1,但是唯一的乙個問題就是在判斷質數的函式裡面出現了兩個for迴圈的巢狀了,於是時間複雜度就是n的n次方了,所以過不了;
下面是高精演算法:
#include
using
namespace std;
int n,x;
long
long sum=0;
intpd
(int y)
return1;
}int
main()
else
if(n==2)
for(
int i=
2; i<=n;
++i)if(
pd(i))}
return0;
}
首先在主函式裡面給1和2做了乙個區分,因為判斷質數會從2開始。
他的質數判斷函式,有些大膽,直接就是判斷 i² 是否小於 y ,有些不懂,不過確實是在數的需要範圍以內的。
主函式裡的對其他的數的判斷也是使用了兩個 if ,乙個判斷累加是否大於輸入數l,乙個是將質數輸出;而我的思路是將這兩個合到一起。
輸出質數 素數
gps平台 建設 軟體開發 系統運維,找森大網路科技!來自森大科技官方部落格 考察知識點 continue 跳過本次迴圈,執行下一次迴圈,break 結束當前迴圈 質數百科名片 質數又稱素數。指在乙個大於1的自然數中,除了1和此整數自身外,不能被其他自然數整除的數。因為合數是由若干個質數相乘而得來的...
1 7 過濾列表輸出
上一節中我們講了如何檢視當前目錄下的檔案和目錄。有時候這樣做很多餘,尤其在查詢某乙個檔案的資訊時。過濾器的工作方式類似乙個簡單的文字匹配字串,有兩種使用方式。1 用法一 明確查詢的檔名,直接跟檔名 root hadoop tmp ls l file1 rw r r 1 root root 0 8月 ...
17隨機輸出姓名
1.將姓氏,名字的第二個字,名字第三個字用變數分別建立字型檔 surname 趙錢孫李周吳鄭王馮陳褚衛蔣沈韓楊朱秦尤許 second 中萬斯近元偉麗利陳國士文連百巨集立成海友南廣雲基天明 third 隆智渝順樂天傑夫陳兵思霆煒祺亮剴炫翔維瑞稻嘉林慶偉勤棟源路煥霖彩明邦聞朵浩翰榮奕涓藝 2.input...