當前位置:首頁 » 編程語言 » c語言是否有環
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

c語言是否有環

發布時間: 2022-04-03 01:14:48

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]='';
return0;
}

/*
輸入:如環0120隻需要輸入012即可,切記!!
返回:0-相等
*/
intisSame(char*str1,char*str2)
{
intlen,i,iOk;
char*tmp;//防止循環左移時修改str1的值
if(str1==NULL||str2==NULL)return-1;
if(strlen(str1)!=strlen(str2))return1;

len=strlen(str1);

//將str1值放入tmp,方便後續處理
tmp=malloc(len+1);
if(tmp==NULL)return-2;
memset(tmp,0,len+1);
strcpy(tmp,str1);

iOk=1;
for(i=0;i<len-1;++i)
{
if(iMovleft(tmp))break;
if(strcmp(tmp,str2)==0)
{
iOk=0;
break;
}
}

free(tmp);
returniOk;
}

H. C語言約瑟夫環問題

#include<stdio.h>

#defineN17//人數
#defineM11//出局人號碼

voidmain()
{
inta[N],i,call_n=0,out_n=0;
for(i=0;i<N;i++)a[i]=0;
i=0;
while(1){//循環報數
if(a[i]==0){//如果健在
if(out_n==(N-1))break;//如果僅剩一人
call_n++;//報數
call_n%=M;//最大為M,到了M就從0開始
if(call_n==0){
a[i]=1;//出局標記
out_n++;
printf("%d",i+1);//顯示出局人號碼
}
}
i++;i%=N;//循環轉向下一人
}
printf(" 最後剩餘者的編號是:%d ",i+1);
}