您的位置:首页 > 其它

【程序39】 题目:编写一个函数,输入n为偶数时,调用函数 求1/2+1/4+...+1/n,当输入n为奇数时,调用函数 1/1+1/3+...+1/n

2017-03-14 10:40 561 查看
/*
2017年3月10日16:56:31
java基础50道经典练习题 例39
Athor: ZJY
Purpose:
【程序39】
题目:编写一个函数,输入n为偶数时,调用函数
求1/2+1/4+...+1/n,当输入n为奇数时,调用函数
1/1+1/3+...+1/n(利用指针函数)

*/
import java.util.Scanner;

public class ProgramNo39_1
{
public static void main(String[] args) {
System.out.print("请输入一个数: ");
Scanner sc = new Scanner(System.in);
int number = sc.nextInt();
if(0 == number%2) {
System.out.println("="+evenSum(number));
}else {
System.out.println("="+oddSum(number));
}
}
//奇数和
private static float oddSum(int number) {
float odd_sum = 0;
if(1 == number)
odd_sum = (1.0f/1);
else
odd_sum = (oddSum(number-2)+(1.0f/number));

System.out.print("1/"+number+"+");
return odd_sum;
}
//偶数和
private static float evenSum(int number) {
float even_sum = 0;
if(2 == number)
even_sum = (1.0f/2);
else
even_sum = (evenSum(number-2)+(1.0f/number));

System.out.print("1/"+number+"+");
return even_sum;
}
}
/*
2017年3月10日16:56:31
java基础50道经典练习题 例39
Athor: ZJY
Purpose:
*/
import java.util.Scanner;
public class ProgramNo39_2
{
public static void main(String[] args){
System.out.print("请输入一个整数:");
Scanner scan = new Scanner(System.in);
int n = scan.nextInt();
scan.close();
if(n%2 == 0)
System.out.println("结果:"+even(n));
else
System.out.println("结果:"+odd(n));
}
//奇数
static double odd(int n){
double sum = 0;
for(int i=1; i<n+1; i+=2){
sum += 1.0/i;
}
return sum;
}
//偶数
static double even(int n){
double sum = 0;
for(int i=2; i<n+1; i+=2){
sum += 1.0/i;
}
return sum;
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐