zoukankan      html  css  js  c++  java
  • range,map,sum

    题目描述

    输入n, 求y1=1!+3!+...m!(m是小于等于n的最大奇数) y2=2!+4!+...p!(p是小于等于n的最大偶数)。 
    输入描述:
    每组输入包括1个整数:n
    输出描述:
    可能有多组测试数据,对于每组数据,
    输出题目要求的y1和y2

    Python实现:
     1 def temp(n):
     2     if n>0:
     3         return n*temp(n-1)
     4     else:
     5         return 1
     6 
     7 def result(n):
     8     yy1 = range(1,n+1,2)
     9     yy2 = range(2,n+1,2)
    10     y1 = map(temp,yy1)
    11     y2 = sum(map(temp,yy2))
    12     print y1,y2
    13     
    14 while True:
    15     try:
    16         n = int(input())
    17         result(n)
    18     except:
    19         break
    View Code

    主要应用到Python的map和sum,map是Python内置的高阶函数,它接收一个函数f和一个list,通过map(f,list)把f依次作用在list的每个元素上,得到一个新的list并返回。

    Java实现:

     1 public class Factorial {
     2 
     3     public static void main(String[] args) {
     4         Scanner sc = new Scanner(System.in);
     5         while(sc.hasNext()){
     6             int n=sc.nextInt();
     7             int y1=0,y2=0;
     8             for(int i=2;i<n;i+=2){
     9                 y2+=f(i);
    10             }
    11             for(int i=1;i<=n;i+=2){
    12                 y1+=f(i);
    13             }
    14             System.out.println(y1 + " "+ y2);
    15         }
    16     }
    17     public static int f(int n){
    18         if (n==0) return 1;
    19         if (n==1) return 1;
    20         return f(n-1)*n;
    21     }
    22         
    View Code
  • 相关阅读:
    锦oa基础配置
    存储localStorage
    刷新token
    input框输入数量自动计算价格
    创建项目,登录校验
    config
    xiaota-main
    数据库的多表查询
    pygame应用---射击外星人游戏
    pygame以及matplotlib的安装
  • 原文地址:https://www.cnblogs.com/yml6/p/6737231.html
Copyright © 2011-2022 走看看