第1个回答 2019-11-06
//花了几分钟就写出来了,哈哈,代码很简单,就不写注释了,有疑问,再问
public
class
DiGui
{
public
static
void
main(String
args[]){
int
n
=
3;
int
rst
=
getResult(n);
System.out.println(n+"的执行结果:"+rst);
}
public
static
int
getResult(int
n){
int
result
=
0;
for(int
i=1;i<=n;i++){
switch(i%2){
case
0:result
-=i;
break;
case
1:
result
+=
i;
break;
}
}
return
result;
}
}
第2个回答 2019-08-15
楼上的,题目要求用递归算法!(你以为把类起名叫DiGui,就是真的递归了吗?哈哈,开个玩笑)
public
class
A
{
public
static
int
d(int
n)
{
int
temp
=
n;
if
(n
==
1)
{
return
1;
}
if
(n
%
2
==
0)
{
n
=
-n;
}
return
n
+
d(temp
-
1);//这句是关键,它又调用了自己,这才叫递归
}
public
static
void
main(String[]
args)
{
System.out.println(A.d(11));
}
}
第3个回答 2020-01-29
思路:先用递归求出一个数的阶乘,接着for循环累加求和。参考代码:
#include
int
fun(int
n){
if(n==1)
return
1;//递归结束条件
return
n*fun(n-1);//递归式
}
int
main()
{
int
sum=0,i;
for(i=1;i<=6;i++)//for循环累加求和
sum+=fun(i);
printf("%d\n",sum);
return
0;
}
/*
运行结果:
873
*/
评论
0
0
加载更多