導航:首頁 > 源碼編譯 > 使用循環結構計算n的演算法

使用循環結構計算n的演算法

發布時間:2022-04-14 19:19:56

❶ 用當循環結構設計演算法,求正整數m,n的最大公約數(輾轉相除法)

int gcd(int m,int n)
{while(n){int p=m%n;gcd(n,p);}return m;}

❷ 使用循環結構實現計算N!的演算法是

實現計算n!的演算法是
a遞歸
b迭代
c排序
d查找
求階乘
用遞歸
function
solution
=
factorial(n)
if
n
==
1
solution
=
1;
else
soluion
=
n*factorial(n-1);
end
意思就是
如果
是1
結果就等於1
如果不是
那就等於它本身乘以factorial(階乘的意思)(n-1)
如果是2
那就等於
2*f(1)
=
2
如果是3
=
3*f(2)
=
3*2*f(1)
=
6
所以
選a
ps:如果需要高精度的階乘演算法
m我
發給你···

編程計算1到n的素數個數,循環結構

*問題分析與演算法設計
素數就是僅能衩1和它自身整除的整數。判定一個整數n是否為素數就是要判定整數n能否被除1和它自身之外的任意整數整除,若都不能整除,則n為素數。
程序設計時i可以從2開始,到該整數n的1/2為止,用i依次去除需要判定的整數,只要存在可以整除該數的情況,即可確定要判斷的整數不是素數,否則是素數。
*程序與程序注釋
#include<stdio.h>
void main()
{
int n1,nm,i,j,flag,count=0;
do{
printf("Input START and END=?");
scanf("%d%d",&n1,&nm); /*輸入求素數的范圍*/
}while(!(n1>0&&n1<nm)); /*輸入正確的范圍*/
printf("...........PRIME TABLE(%d--%d)............\\n",n1,nm);
if(n1==1||n1==2) /*處理素數2*/
{
printf("%4d",2);
n1=3;count++;
}
for(i=n1;i<=nm;i++) /*判定指定范圍內的整數是否為素數*/
{
if(!(i%2))continue;
for(flag=1,j=3;flag&&j<i/2;j+=2)
/*判定能否被從3到整數的一半中的某一數所整除*/
if(!(i%j))flag=0; /*若能整除則不是素數*/
if(flag) printf(++count%15?"%4d":"%4d\\n",i);
}
}

❹ 編程:請分別用do while、while兩種循環結構編程計算: 1!+2!+3!+...+n! , n的值由鍵盤輸入。

do while兩種循環結構:

#include<stdio.h>

int fun(int a)

{

int i=1,sum=1;

do

{

sum*=i;

i++;

}

while(i<=a)

return sum;

}

main()

{

int n,i=1,sum=0;

printf("請輸入n的值:");

scanf("%d",&n);

do

{

sum+=fun(i);

i++;

}while(i<=n)

printf("結果是:%d",sum);

}

while循環結構:

#include<stdio.h>

int fun(int a)

{

int i=1,sum=1;

while(i<=a)

{

sum*=i;

i++;

}

return sum;

}

main()

{

int n,i=1,sum=0;

printf("請輸入n的值:");

scanf("%d",&n);

while(i<=n)

{

sum+=fun(i);

i++;

}

printf("結果是:%d",sum);

}

(4)使用循環結構計算n的演算法擴展閱讀:

do...while 和while循環有相似之處,但使用方法完全不同,一個是直到型循環,另一個是當型循環。區別在於表達式的值是在每次循環結束時檢查而不是開始時。

和正規的 while 循環主要的區別是 do-while 的循環語句保證會執行一次(表達式的真值在每次循環結束後檢查),然而在正規的 while 循環中就不一定了(表達式真值在循環開始時檢查,如果一開始就為FALSE則整個循環立即終止)。

❺ 10!=3628800採用while循環結構實現計算N

循環結構實現就用迭代,簡單來講遞歸就是自己調用自己,循環結構一般分為while和for。
以下是遞歸:

//用迭代的方法計算n的階乘 long factorial(int n) { int result=1; while(n>1) { result*=n; n-=1; } return result; }

❻ 用循環結構寫這樣一個程序:輸入兩個數m,n,計算他們的最大公約數和最小公倍數

兩個非零整數的最大公約數就是它們絕對值的最大公約數,最小公倍數是它們的積除以最大公約數#include <stdio.h>
#include <math.h>
int f(int a,int b)
{
int r;r = a % b;
while(r != 0)
{a = b;<br/>b = r;<br/>r = a % b;<br/>}
return b;
}
int main()
{
int a, b, r1;
scanf("%d %d", &a, &b);a=abs(a);b=abs(b);
r1 = f(a, b);printf("%d\n",r1); //輸出最大公約數printf("%d\n",a*b/r1); //輸出最小公倍數return 0;
}

❼ 從鍵盤輸入正整數n,求n!,使用三種循環結構實現此功能。

摘要 int Func(int n)

❽ 編寫程序,使用循環結構計算2的n次冪值(n由鍵盤輸入).

<script type="text/javascript">

var n = parseInt(prompt('輸入n'));

var num = 1;

for(var i = 0; i < n; i ++){

num *= 2; //num = num * 2;

}

document.write("2的" + n + "次冪是" + " " + num);

</script>

(8)使用循環結構計算n的演算法擴展閱讀:

C語言中提供四種循環,即goto循環、while循環、do…while循環和for循環。

四種循環可以用來處理同一問題,一般情況下它們可以互相代替換,但一般不提倡用goto循環,因為強制改變程序的順序經常會給程序的運行帶來不可預料的錯誤,在學習中主要學習while、do…while、for三種循環。

常用的三種循環結構學習的重點在於弄清它們相同與不同之處,以便在不同場合下使用。這就要清楚三種循環的格式和執行順序,將每種循環的流程圖理解透徹後就會明白如何替換使用,如把while循環的例題,用for語句重新編寫一個程序,這樣能更好地理解它們的作用。

特別要注意在循環體內應包含趨於結束的語句(即循環變數值的改變),否則就可能成了一個死循環,這是初學者的一個常見錯誤。

❾ 求水仙花數的演算法是 使用循環結構實現計算N!的演算法是 A遞歸 B迭代 C排序 D查找

實現計算N!的演算法是 A遞歸 B迭代 C排序 D查找
求階乘 用遞歸
function solution = factorial(n)
if n == 1
solution = 1;
else
soluion = n*factorial(n-1);
end
意思就是 如果 是1 結果就等於1 如果不是 那就等於它本身乘以factorial(階乘的意思)(n-1) 如果是2 那就等於 2*f(1) = 2 如果是3 = 3*f(2) = 3*2*f(1) = 6

所以 選A
PS:如果需要高精度的階乘演算法 m我 發給你···

❿ 請使用偽代碼編寫演算法: 要求分別用循環結構和遞歸結構求解n!。 n!= 1 當n=0 n!=n*(n--1)! 當n>0

func(n)
{
if(n == 0)

func(n) = 1;

func(n) = n*func(n-1);

}
偽代碼的話,自己組織一下語言、思路和簡單的代碼就可以了

閱讀全文

與使用循環結構計算n的演算法相關的資料

熱點內容
python的pandas庫怎麼導入 瀏覽:720
計算機現在常用的加密方法 瀏覽:516
工資滿月演算法 瀏覽:340
linux開啟80埠命令 瀏覽:116
php銀行支付 瀏覽:816
java內存模型與線程 瀏覽:73
遼寧存儲伺服器雲空間 瀏覽:849
程序員看能力還是看學歷 瀏覽:28
查看壓縮包格式 瀏覽:868
android仿微信相冊 瀏覽:881
想換手機沒錢有什麼app 瀏覽:873
我的世界裡的命令方塊 瀏覽:572
找附近民宿什麼app好 瀏覽:137
什麼app能把app移到另一個手機上 瀏覽:385
車帝下載不了app是什麼原因 瀏覽:953
libpnglinux安裝 瀏覽:971
公交什麼app有折扣 瀏覽:563
模擬器文件夾的文件如何復制出來 瀏覽:574
pythonsocketlist 瀏覽:65
為什麼和平精英主播都用安卓手機 瀏覽:768