偶数求1/2+1/4+...+1/n奇数1/1+1/3+...+1/n

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

        Scanner scanner = new Scanner(System.in);
        int num = scanner.nextInt();
        double sum = 0;
        if (num%2!=0) {
            for (int i = 1; i <= num; i=i+2) {
                sum += 1.0/i;
                System.out.print(1+"/"+i+"\t");
                System.out.print(1.0/i+"\t");
                System.out.println("");
            }
        }else {
            for (int i = 2; i <= num; i=i+2) {
                sum += 1.0/i;
                System.out.print(1+"/"+i+"\t");
                System.out.print(1.0/i+"\t");
                System.out.println("");
            }
        }
        System.out.println(sum);

源码

时间: 2024-10-17 03:41:25

偶数求1/2+1/4+...+1/n奇数1/1+1/3+...+1/n的相关文章

c语言经典算法—求0—7 所能组成的奇数个数

题目:求0—7 所能组成的奇数个数. 算法思想:这个问题其实是一个排列组合的问题,设这个数为sun=a1a2a3a4a5a6a7a8,a1-a8表示这个数的某位的数值,当一个数的最后一位为奇数时,那么这个数一定为奇数,不管前面几位是什么数字.如果最后一位数为偶数,则这个数一定为偶数.a1-a8可以取0-7这个八个数字,首位数字不为0.从该数为一位数到该数为8位数开始统计奇数的个数:1.当只有一位数时也就是该数的最后一位,奇数个数为42.当该数为两位数时,奇数个数为4*7=283.当该数为三位数时

JAVA实例,求用户输入的整数是否是偶数

题目:用户能输入一个整数,输入后返回是偶数还是奇数. 偶数规则:除以2能整除的数称之为偶数,否则是奇数 实例: switch版 import java.util.Scanner; public class Test{ public static void main(String[] args){ Scanner in = new Scanner(System.in); System.out.println("请输入一个整数"); int num = in.nextInt(); int

for循环语句之求和,阶乘,求偶,求n次篮球蹦起高度

for循环语句格式: for (int i = 1;/*初始条件*/i <= 100;/*循环条件*/i++/*状态改变*/) { //循环体,执行代码:(break;跳出循环体) } for 穷举法用循环把各种可能的情况都走一遍,然后用if条件把满足要求的结果给筛选出来. for 迭代法 有一定规律,从初始情况按照规律不断求解中间情况,最终推导出结果. 1求几个数的和 Console.WriteLine("请输入一个数:"); int a = Convert.ToInt32(C

HDU 5363 元素为1~n的集合有多少个子集的元素和为偶数-思维-(快速幂取模)

题意:一个集合有元素1~n,求他的子集满足这样的条件:子集的所有元素的和是偶数,问有多少个这样的子集 分析: 一个排列组合问题.元素和为偶数,那么奇数肯定要调偶数个,偶数就无所谓了,所以偶数有2^(n/2)种选法,再乘以奇数有(C((n+1)/2,0)+C((n+1)/2,2).....)种选法,再减一,除去空集,注意,上面取奇数的时候用的是(n+1)/2(这里是向下取整的除法),是综合n为偶数和n为奇数两种情况. 组合数性质:C(n,1)+C(n,3)+....=C(n,2)+C(n,4)+.

浅谈Stein算法求最大公约数(GCD)的原理及简单应用

一.Stein算法过程及其简单证明 1.一般步骤: s1:当两数均为偶数时将其同时除以2至至少一数为奇数为止,记录除掉的所有公因数2的乘积k: s2:如果仍有一数为偶数,连续除以2直至该数为奇数为止: s3:用更相减损法(辗转相减法),即GCD(a,b)=GCD(a-b,b)求出两奇数的最大公约数d: s4:原来两数的最大公约数即为d*k: 2.简单证明: s1:即为求出两数为2的幂次方的最大公因数k: s2:当化简后两数一奇一偶时,显然奇数是不含偶数因子的,那么另一化简后偶数的所有偶数因子都不

java 判断输入的数是奇数还是偶数

package com.wenshi.foreach; import java.util.Scanner; public class test1 {//创建类test1 public static void main(String args[]){//主方法 int x;//声明变量x System.out.println("请输入x的值: "); Scanner in = new Scanner(System.in);    //Scanner类 // System.out.prin

剑指OFFER之调整数组顺序使奇数位于偶数前面找(九度OJ1516)

题目描述: 输入一个整数数组,实现一个函数来调整该数组中数字的顺序,使得所有的奇数位于数组的前半部分,所有的偶数位于位于数组的后半部分,并保证奇数和奇数,偶数和偶数之间的相对位置不变. 输入: 每个输入文件包含一组测试案例.对于每个测试案例,第一行输入一个n,代表该数组中数字的个数.接下来的一行输入n个整数.代表数组中的n个数. 输出: 对应每个测试案例,输入一行n个数字,代表调整后的数组.注意,数字和数字之间用一个空格隔开,最后一个数字后面没有空格. 样例输入: 5 1 2 3 4 5 样例输

css选择表格偶数行

css代码tr:nth-child(even){background:gray} 选择偶数行 tr:nth-child(even){background:gray} 选择奇数行  

面试题14:调整数组顺序使奇数位于偶数前面

// 面试题14_调整数组顺序使奇数位于偶数前面.cpp : 定义控制台应用程序的入口点. // #include "stdafx.h" #include <iostream> using namespace std; void swap(int *begin,int *end) { int temp; temp=*begin; *begin=*end; *end=temp; } void ReorderOddEven(int *pData,unsigned int len