导航:首页 > 源码编译 > 使用循环结构计算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的算法相关的资料

热点内容
androidpatterns 浏览:226
如何用塔式服务器搭建nas 浏览:697
海岛奇兵服务器中断55什么意思 浏览:524
androidsdk22下载地址 浏览:294
intelrst驱动文件夹 浏览:922
几台电脑共享一个加密狗 浏览:360
java获取前一天的日期 浏览:188
五以内手指算法视频 浏览:580
服务器与桌面如何切换窗口 浏览:94
微信接口配置信息php 浏览:49
php数组echo 浏览:98
文件夹有蓝色东西 浏览:961
u盘显示加密提示要格式化怎么办 浏览:543
centos命令行分辨率 浏览:820
我的世界110命令 浏览:738
c语言编译器IDEC语言编程 浏览:948
帮粉丝解压的视频 浏览:116
androidsdk路径查看 浏览:483
什么平板看pdf好 浏览:436
java定义成员变量 浏览:509