1樓:渣渣灰
就是一個判斷是bai不是素數,
你先得知道du素數的定義把,zhi比如dao2,3,5,7,11,就是因數只有自內己和1的數就叫素數,容1不算。
這個是一個比較普通的方法,還有更快的,仔細發現從5開始,素數一定是出現在6的倍數的兩邊,而每次迭代6會比進1來的快的多
最近在看一個linux下的c語言程式,但是裡面的makefile看不懂啊,哪位大神能幫忙解釋一下,不勝感激!
2樓:匿名使用者
聽本尊細細道來:
cc=g++
// 指定編譯器為g++編譯器
cflags= -ansi -o5 -wall
//編譯器編譯時的編譯引數,-ansi 是指按照ansi c標準.-o5 是優化程度,-wall 是開啟警告
ldflags= -ansi -lm -wall
//編譯器連結多個目標時的連結引數,-lm 就是動態連結math.h 這個函式庫。其他同上。
exec=community convert hierarchy
//生成的可執行檔案明
obj1= graph_binary.o community.o
//目標1 的.o 檔案
obj2= graph.o
//目標2的.o檔案
all: $(exec)
//makefile的製作目標:就是exec裡面的檔案
community : $(obj1) main_community.o
//生成community 所依賴的的.o 檔案, : 代表依賴關係
$(cc) -o $@ $^ $(ldflags)
// -o 是生成檔案的重新命名, $@ 就是目標名字,即community.
//$^就是所有的依賴檔案,即$(obj1)和main_community.o
//$(ldlags)就是參加連結的引數
//意思就是連線目標檔案$(obj1) 和main_community.o 生成的檔案命名為community
convert : $(obj2) main_convert.o
$(cc) -o $@ $^ $(ldflags)
//這個同上, 最後生成了convert
hierarchy : main_hierarchy.o
$(cc) -o $@ $^ $(ldflags)
//同上,生成了 hierarchy
##########################################
# generic rules
##########################################
%.o: %.cpp %.h
//意思就是生成的 .o 檔案依賴 .cpp 檔案和 .h 檔案
//%.o就是匹配.o結尾的檔案
$(cc) -o $@ -c $< $(cflags)
//-o 意思同上.
//$< 是指所有依賴檔案中的第一個檔案
//-c 是隻編譯不連線的意思, 再加上$(cflags)編譯引數
%.o: %.cpp
$(cc) -o $@ -c $< $(cflags)
//同上.
//看到現在明白了把, 這些 .o 檔案從來**來的, 最後要生成什麼.
clean:
rm -f *.o *~ $(exec)
// 這個非常簡單了, 就是執行make clean 時候要刪除的檔案.
怎麼樣,說得夠明白了吧.
3樓:匿名使用者
info make,看完就懂了。
$@是冒號左邊的 $^是冒號右邊的全部 $《是冒號右邊的第一個%.o匹配所有.o結尾的檔案
cflags是預設引數,generic rules編譯時會自動加上這個引數。
c語言連結串列問題,初學者看不懂,求大神解釋下這個程式的每一步。
4樓:匿名使用者
node * fun(node *h) //node是節點結構體定義,函式應該是返轉一個連結串列,也就是頭節點變成尾,尾變成頭
//如果所有節點處理完,因為q始終是指向當前待處理節點的下一個節點,處理完後,下一個節點必然為空,while迴圈結束(while(q)相當於while(null))
return p;//返回新的頭節點
這是一個c語言的程式設計題,未來教育的答案解釋完全看不懂,求大神幫忙解釋一下,尤其是對於pl[i+
5樓:匿名使用者
要想把p2連線到p1的末端,首先要找到p1的末端p1的末端怎麼找呢?做法是第一個for語句,注意這兩個for後面都有分號,因此並不是巢狀語句,不要弄混了。
第一個for語句依次檢查p1的第i個字元是否為'\0',如果不是則i++,繼續下一次判斷,當迴圈退出是,i剛好在p1的末端'\0'處。
第二個for迴圈是把p2的字元依次拷貝到p1的後面,p1[i++] = p2[j],正是這個拷貝的過程。
6樓:f煉心
你好,這是兩個for巢狀使用,先看進行下面的迴圈
誰幫我解釋一下c語言程式!看好久也看不懂!
7樓:
這個程式是計算以下式子
1-1/2
+1/3+1/4
-1/5
+1/6+1/7+1/8
-1/9
+1/10+1/11+1/12+1/13
-1/14
+1/15+...1/19
-1/20....
+1/n+....1/(n+m-1) …………這裡的m、n與程式裡的沒
關係啊,只是為了說明演算法
-1/(n+m)
第單數行都是加法,
第雙數行都是減法。
每單數行的分數數量都是遞增的
每雙數行的分數數量不變,即都是1
無論單行雙行,分數的分母都是逐一遞增的。
**********====以下是程式解釋k和m都是計數器
n是輸入的數,比如輸入10,則計算1-1/2+1/3+1/4-1/5+1/6+1/7+1/8-1/9+1/10
t就是分母
h是標誌位,當t計算至n時,就不做運算了。
這程式只能處理100以內(含100)的正確結果。
int main( int argc,char** argv)}if(h==1) //(a)
//以下處理雙數行的結果,只有在(a)不作用時才會用到此部分。
t++;//先要把分母這個值自增
s-=1.0/t;//就是在結果裡減去1.0/tif(t==n)
break;//因為有可能使用者輸入的數可能為雙數行所在。這一塊就是用來在此時退出k所在的for迴圈
}if(h==1)
printf("+1/%d=",n);
else
printf("-1/%d=",n);
printf("%9.6f\n",s);
system("pause");
return 0;}
8樓:
弄清計算什麼。
(1) 這個 級數
的 第 t 項 的 值 等 於 1/t
(2) 這個 級數 的 某項的 符號,正負 這樣考慮:
從第一項起:
+ - ++ - +++ - ++++ - +++++ - ....
即 連續正項 每組個數 為 1,2,3,4,5....
組與組之間的那 項是 負號。
(3) 輸入項數 n
(4) 輸出 級數 加減運算結果
(5) 列印最後一項 和列印 級數運算結果。
n -- 輸入,要求計算多少項。
t -- 第 t 項, 用 t++ 推進。一旦 t==n 則 結束。
k -- 迴圈變數,表示計算 第幾組。
例如,k=3, 第3組,就是要算 +++ - 這組m -- 迴圈變數, 從1迴圈到k,
例如, k=3, m 迴圈 計算 第一組 的正號項,第二組 的正號項,第三組 的正號項,累加到 s 裡
每組正號項算完,t 增加 1,算 1 個 負 號項,從 s 裡 減去。
h==1 最後一項的符號為+,否則為負,用於 列印最後一項 的 符號。
9樓:匿名使用者
for(k=1;k<=100;k++) 這句是一個for迴圈語句,k++相當於k=k+1,整個語句表示k從1開始,每次增加1直到k=100.其實這裡就相當於我們的自然數1~100這一個組.
} 這裡表示,當t一個1一個1地加,加到與之前讀入的n相等時,執行大括號裡面的兩個語句,即h=1,並且執行break,break是一個強制切斷程式語句
if(h==1) break; 這句的意思是如果h等於1則馬上切斷程式
t++;s-=1.0/t; 這裡的t++與前面相同,s-=1.0/t相當於s=s-1.0/t
if(t==n) break;} 這句的意思是如果t自加到等於n則切斷程式
從你的問題來看,我覺得你不明白的主要是兩個地方:
1:自加運算和x+=y;x-=y;x*=y;x/=y這樣的運算式;
2:就是if和break語句的用法和意義;
求大神解釋一下這個c語言程式怎麼執行的啊啊和為什麼..看不懂啊
10樓:空空
for(m=2;m<=50;m++)//從2到50列舉數字m//如果沒
break;的話m應該屬等於n,否則m不是質數if(m==n)//如果沒break
printf("%d ",m);//輸出}
11樓:
建議樓來主善用百度搜尋,但是源為了積分我還是回bai答du一下c語言的執行教程zhi:http://jingyan.
關於**內
dao容解釋:
把數從2~50大遍歷一次,每次遍歷的下面跟著對當前數值n進行2~n-1的遍歷,使得n%m不等於0,即為素數。
我想自學c語言,但c語言書上的專業術語我看不懂,求哪位大神給我講解一下最基礎的 30
12樓:陽光上的橋
請寫明你看不懂的術語進行提問,一次只寫一個,不用財富懸賞帖子也會秒回,這樣你會瞬間獲得有意義的解答,可以試試看。
求大神幫忙解一下,謝謝,求大神幫忙翻譯一下
abcd為正抄 方形,則ao bo,baiaoe bof 90度 duae bf obf oae 三角形zhiaoe 三角形bof ae bf 2ao 4 ao 8 ao 2根號dao2 e為ob中點,則oe 1 2ao 根號2 則ae ao oe 8 2 10 則ae 根號10 bf 可 因為bf...
求大神幫忙修改一下,完善一下,求大神幫忙修改完善一下這幾句話
清晨,第一縷陽光照進臥室 寢室 點亮了美好的一天願煩惱就此逝去。早安內你若溫暖,世界將容不在黑暗。不知道您滿不滿意 個人覺得該簡潔的簡潔一下顯得更有意境,照亮換成點亮顯得更生動避免 照 字重複使用,希望 兩個字的意思就是渴望願望是一種渴求的意思,那這裡用單獨一個 願 字顯得簡單明瞭 你若陽光 我想你...
哪位大神幫忙翻譯一下這篇短文,哪位大神能幫小弟翻譯一下下面這篇文章,急用,謝謝
第一位黑人女性 這幾個單詞被用來描述雪莉 安 傑克遜的時間如此之長以至於缺少這幾個單詞她的名字似乎都會變得不完整。她是第一位從麻省理工學院獲得博士學位的黑人女性 第一位獲得物理學博士頭銜的黑人女性 第一位擔任美國核管理委員會主席非裔美國人,也是第一位擔任美國核管理委員會主席的女性。成長於20世紀50...