用Java编写动态显示偶数数列_编写一个方法,输入n为偶数时,调用函数求1/2+1/4+……1/n;当输入n为奇数时,调用函数1/1+1...
可以直接用递归解double f(n) { if (1==n || 2==n) return (1d)/n; return (1d)/n + f(n-2);},我建议你去JAVA论坛去问下嘛。那里的高手多,当然解法不是一种,你去论坛发表嘛,说不准会有很多的收获的,什么事指针函数? 不知道这个但是完成上面的题貌似很简单本回答被提问者采纳,if(n % 2 == 0){//n为偶数……}else{//n为奇数……}www.mh456.com防采集。
package com.jgroups.test;import java.util.Scanner;public class Test31 {/** * 功能:编写一个方法,输入n为偶数时,调用函数求1/2+1/4+……1/n;当输62616964757a686964616fe59b9ee7ad9431333335346139入n为奇数时,调用函数1/1+1 * * @param args * * @author JGroup * * @date 2014/12025 */public static void main(String[] args) {/* * 易知这是一个首项为1/2 公比为1/2的等比数列 根据等比数列的求和公式 * 可得Sn=1/2+1/4+1/8+1/16+……+1/n=1/2(1-(1/2)^n)/(1-1/2)=1-(1/2)^n */System.out.println("请输入n:");Scanner sc = new Scanner(System.in);int n = sc.nextInt();double result = 0;if (n % 2 == 0) {result = 1 - Math.pow(0.5, n);} else {result = 2;}System.out.println("结果:" + result);}}
奇函数偶函数都调用同一个函数: public static double fn(int n){ double sum=0,p; for(int i=n;i>0;i++){ p=n; sum=sum+1/p; n=n-2; } return sum; } PS:不保证正确,已经丢下好多年了。。。。。。你的程序里调用的函数不应该将n的值重新赋值
#include "stdio.h"double myfunc(int n){daodouble s;for(s=0;n>0;s+=1.0/n,n-=2);return s;}int main(int argv,char *argc[]){int n,i;while(1){内scanf("%d",&n);if(n>1)break;printf("Input error, redo:");}printf("1/%d",2-(n&1));for(i=4-(n&1);i<=n && i<=6;printf("+1/%d",i),i+=2);if(n&1 && n>5 || (n&1)==0 && n>6)printf("+...+1/%d",n);printf(" = %f\n",myfunc(n));return 0; }运行样例容:,兄弟,你想问什么内容来自www.mh456.com请勿采集。
本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!
