A. c語言素數環
#include"stdio.h"
int shu(int n)
{
int i;
for(i=2;i<=n/2;i++)
if(n%i==0) return 0;
return 1;
}
main()
{
int a,b,c,d,e,f;
for(a=1;a<=9&&a!=5;a+=2)
for(b=1;b<=9&&b!=5;b+=2)
for(c=1;c<=9&&c!=5;c+=2)
for(d=1;d<=9&&d!=5;d+=2)
for(e=1;e<=9&&e!=5;e+=2)
for(f=1;f<=9&&f!=5;f+=2)
{
if((shu(100000*a+10000*b+1000*c+100*d+10*e+f)==1)&&
(shu(100000*b+10000*c+1000*d+100*e+10*f+a)==1)&&
(shu(100000*c+10000*d+1000*e+100*f+10*a+b)==1)&&
(shu(100000*d+10000*e+1000*f+100*a+10*b+c)==1)&&
(shu(100000*e+10000*f+1000*a+100*b+10*c+d)==1)&&
(shu(100000*f+10000*a+1000*b+100*c+10*d+e)==1))
printf(" 最小的素數環為:%d", 100000*a+10000*b+1000*c+100*d+10*e+f);
goto loop;
}
loop:getchar();
}
B. 什麼是有環的鏈表有什麼特點怎麽用C語言創建
1、有環的鏈表指的是鏈表有環路,例如下面:
A->B->C->D->B,這樣遍歷的時候B->C->D->B就形成一個環路一直循環。
有環鏈表跟普通鏈表一樣,只不過構造數據的時候會形成環路。
2、常式:
/*
結點1數據:VisualC++Windows
結點2數據:VisualC++6.0
結點3數據:VisualC++2010
結點4數據:C++PrimerPlus
結點5數據:Windows7
成功找到結點。
請按任意鍵繼續...
*/
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
typedefstructmode{
chars[40];
//inttr;
structmode*next;
}*LinkList,*Node;
LinkListCreateList(intn){
LinkListhead;
Nodep,q;
head=p=(mode*)malloc(sizeof(structmode));
for(inti=0;i<n;i++){
q=(mode*)malloc(sizeof(structmode));
printf("結點%d數據:",i+1);
gets_s(q->s);
p->next=q;
p=q;
}
p->next=head;
returnhead;
}
boolFindNode(LinkListhead,char*s){
Nodep=head->next;
while(p!=head){
if(strcmp(s,p->s)==0)returntrue;
p=p->next;
}
returnfalse;
}
intmain(){
LinkListhead=CreateList(5);
if(FindNode(head,"Windows7"))printf("成功找到結點。 ");
elseprintf("沒有找到指定數據的結點。 ");
return0;
}
C. c語言,無向圖如何檢測是否有環
遍歷一遍,判斷圖分為幾部分(假定為P部分,即圖有 P 個連通分量)
對於每一個連通分量,如果無環則只能是樹,即:邊數=結點數-1
只要有一個滿足 邊數 > 結點數-1
原圖就有環
將P個連通分量的不等式相加,就得到:
P1:E1=M1-1
P2:E2=M2-1
...
PN:EN>MN-1
所有邊數(E) > 所有結點數(M) - 連通分量個數(P)
即: E + P > M 所以只要判斷結果 E + P > M 就表示原圖有環,否則無環.
實例代碼如下:
http://www.cnblogs.com/xwdreamer/archive/2011/06/11/2297008.html
D. C語言 素數環問題
prime函數里,把條件判斷x/y改為x%y
其它我沒細看,有問題再告訴我吧。
E. C語言 建立一個有向圖,判斷該圖是否存在環,如果不存在環,輸出它的拓
1.拓撲排序:還有頂點未輸出,但已經不存在沒有前驅的頂點了2.深搜:從一個頂點出發存在搜回到自己的路徑
F. 菜雞求教C語言素數環有關問題
#include<math.h>
intmain(){
intm;//輸入的整數
inti;//循環次數
intk;//m的平方根
printf("輸入一個整數:");
scanf("%d",&m);
//求平方根,注意sqrt()的參數為double類型,這里要強制轉換m的類型
k=(int)sqrt((double)m);
for(i=2;i<=k;i++)
if(m%i==0)
break;
//如果完成所有循環,那麼m為素數
//注意最後一次循環,會執行i++,此時i=k+1,所以有i>k
if(i>k)
printf("%d是素數。 ",m);
else
printf("%d不是素數。 ",m);
return0;
}
G. C語言,如何判斷有向圖里的相同的環
/*
判斷相同環的基本思路:
(1)長度相同
(2)對其中一個循環左移,次數為len-1,
如果循環左移後順序相同,則為相同環
*/
intiMovleft(char*instr)
{
intlen;
chartmp;
if(instr==NULL)return-1;
len=strlen(instr);
tmp=instr[0];
memmove(instr,instr+1,len-1);
instr[len-1]=tmp;
instr[len]='