/******求100以内,所有的奇数和,求100以内,所有的偶数积*******/
// for循环方法
 
var sum=0;
var sum1=1;
for(var i=1;i<=100;i++){
if(i%2!=0){
sum=sum+i;
}else{
sum1=sum1*i;
}
}
document.write("100以内,所有的奇数和:"+sum+"<br>"+"<br>")
document.write("100以内,所有的偶数积:"+sum1+"<br>"+"<br>")
//递归方法 加法
/* 99+97+95+....+3+1
pius(99)=99+plus(97)
plus(97)=97+plus(95)
plus(95)=97+plus(93)
....
sum(1)=1 找到出口:为1
所以plus(1)
*/
function plus(q){
if(q==1){
return 1;
}
return q+plus(q-2);
}
var result=plus(99);
document.write("递归做出来的加法:"+result+"<br>"+"<br>");
//递归方法 乘法
function mu(num){
if(num==2){
return 2;
}
return num*mu(num-2);
}
var result2=mu(100);
document.write(result2+"<br>"+"<br>");
/********************斐波那契数列*************************/
// 斐波那契数列 : 1 1 2 3 5 8 13
/*
规律 第三项等于第二项加第一项的和,如此类推
第n项=第n-1项 + 第n-2项的和
fn(5)=fn(4)+fn(3)
fn(4)=fn(3)+fn(2)
fn(3)=fn(2)+fn(1)
递归的出口就是fn(2)和fn(1)
所以依据题目fn(1)=1,f(2)=1
*/
document.write("<p style='color:red;'>斐波那契数列</p>");
function shulie(n){
if(n==1||n==2){
return 1;
}
return shulie(n-1)+shulie(n-2)
}
var result1 = shulie(7);
document.write(result1+"<br>"+"<br>");
/********************九九乘法表*************************/
document.write("<p style='color:red;'>九九乘法表</p>");
var c;
for(var a=1;a<=9;a++){
for(var b=1;b<=a;b++){
document.write(b+"x"+a+"="+b*a+"&nbsp");
}
document.write("<br>"+"<br>");
}
/*************输出100之内所有含有7或者7的倍数的数字**************/
// 倍数:7 14 21.... 个位:17 27 37 .... 十位: 71 72 73 ...
document.write("<p style='color:red;'>输出100之内所有含有7或者7的倍数的数字</p>");
 
for(var x=0;x<=100;x++){
if(x%7==0 ||x%10==7||parseInt(x/10)==7){
document.write(x)
}
document.write(" ")
}
document.write("<br>"+"<br>");
//变成封装成函数
 
function chengfa(c){
for(var x=0;x<=100;x++){
if(x%c==0 ||x%10==c||parseInt(x/10)==c){
document.write(x)
}
document.write(" ")
}
}
chengfa(9);
 
document.write("<br>"+"<br>");
 
/*******************输出数组中为奇数的平均数*********************/
//要求奇数的平均数,首先要求奇数的个数 line 143
 
document.write("<p style='color:red;'>输出100之内所有含有7或者7的倍数的数字</p>");
var arr=[1,5,6,46,8,3,45,10]; //定义一个数组
var sum2 = 0; //求奇数和
var remb = 0; //求奇数的个数
for(var y=0;y<arr.length;y++){ //这个arr.lenght是获得这个数组中的长度
if(arr[y]%2==1){
remb++; //一旦走进if里面,就是奇数,然后++咯
sum2=sum2+arr[y]; //arr[y]是获得数组里面的第y个
}
}
document.write(sum2/remb+"<br>"+"<br>")
 
//封装成函数
var arr=[1,5,6,46,8,3,45,10,55];
function open(k){ // K是函数执行时的形参,函数执行的时候传过来的,arr数组传过来用变量K接收了
var sum2 = 0;
var remb = 0;
for(var y=0;y<k.length;y++){
if(k[y]%2==1){
remb++;
sum2=sum2+k[y];
}
}
return sum2/remb;
}
var result3 = open(arr);
document.write("函数封装的:"+result3)
/****************输出数组中最大值及其索引,最小值及其索引(就是第几个)******************/
document.write("<p style='color:red;'>输出数组中最大值及其索引,最小值及其索引</p>");
var arr1=[5,2,3,-7,10,34,25];
/* var max=0; 存放数组的最大值,这个存在缺点,如果是负数,则走不进if里面 */
var max=arr1[0]; //所以用arr的第0项开始比较
var maxindex = 0; //存放数组的最大值索引
var min=arr1[0];
var minindex =0;
for(var h=0;h<arr1.length;h++){
if(max<arr1[h]){ //用max与数组中的值比,max比数组中的小,则立马赋值
max=arr1[h];
maxindex = h; //第几个数
}
if(min>arr1[h]){
min = arr1[h];
minindex = h;
}
}
document.write(max+" , "+maxindex+" , "+min+" , "+minindex+"<br>"+"<br>");
//封装函数
var arr1=[5,2,3,-7,10,34,25];
function app(m){
var max=m[0]; //所以用arr的第0项开始比较
var maxindex = 0; //存放数组的最大值索引
var min=m[0];
var minindex =0;
for(var h=0;h<m.length;h++){
if(max<m[h]){ //用max与数组中的值比,max比数组中的小,则立马赋值
max=m[h];
maxindex = h; //第几个数
}
if(min>m[h]){
min = m[h];
minindex = h;
}
}
return [max,maxindex,min,minindex];
}
document.write(app(arr1));

for循环,递归,函数封装作业的更多相关文章

  1. PTA循环,函数,数组作业

    PTA循环实验作业 题目一:统计素数并求和 ### 1.PTA提交列表 2.设计思路(+流程图) 先定义变量(包含素数区间,循环次数,除数,素数个数记录和和的记录) 输入范围 一重循环:循环提取自然数 ...

  2. 慕课网JavaScript函数1-20 作业:函数的基础封装

    1-20 作业 小伙伴们,掌握了JavaScript的语法.流程控制语句以及函数,接下来让我们运用所学知识完成如gif图所示的效果——计算自己出生那天是该年当中的第几天. gif效果图如下: 任务描述 ...

  3. 前端总结·基础篇·JS(三)arguments、callee、call、apply、bind及函数封装和构造函数

    前端总结系列 前端总结·基础篇·CSS(一)布局 前端总结·基础篇·CSS(二)视觉 前端总结·基础篇·CSS(三)补充 前端总结·基础篇·JS(一)原型.原型链.构造函数和字符串(String) 前 ...

  4. Appium python自动化测试系列之滑动函数封装实战(八)

    8.1 什么是函数的封装 教科书上函数的封装太官方,我们这里暂且将函数的封装就是为了偷懒把一些有共性的功能或者一些经常用的功能以及模块放在一起,方便我们以后再其他地方调用.这个只是个人的理解所以大家懂 ...

  5. JS中深浅拷贝 函数封装代码

    一.了解 基本数据类型保存在栈内存中,按值访问,引用数据类型保存在堆内存中,按址访问. 二.浅拷贝 浅拷贝只是复制了指向某个对象的指针,而不是复制对象本身,新旧对象其实是同一内存地址的数据,修改其中一 ...

  6. 选择、循环与函数结构:MATLAB VS Python

    选择.循环与函数结构:MATLAB VS Python 整理基本的程序控制结构,主要是选择 和 循环. 1.MATLAB选择结构 (1)单分支if语句格式: if 条件 语句组 end (2)双分支i ...

  7. linux循环递归设置权限

    这里给出一个循环递归得到对文件夹和文件分别有效的设置方法: find /path -type f -exec chmod 644 {} \; #对目录和子目录里的文件 find /path -type ...

  8. c#读写共享内存操作函数封装

    原文 c#读写共享内存操作函数封装 c#共享内存操作相对c++共享内存操作来说原理是一样,但是c#会显得有点复杂. 现把昨天封装的读写共享内存封装的函数记录下来,一方面希望给需要这块的有点帮助,另一方 ...

  9. [妙味JS基础]第九课:定时器管理、函数封装

    知识点总结 函数封装 回调函数 实例:抖动函数 获取当前的位置 通过数组来实现,一正一负,直到恢复成0为止. 当前位置与数组中各值相加

随机推荐

  1. SpringBoot2.0之整合Dubbo

    Dubbo支持协议 Dubbo支持dubbo.rmi.hessian.http.webservice.thrift.redis等多种协议,但是Dubbo官网是推荐我们使用Dubbo协议的. Sprin ...

  2. 系统常用VC++运行时下载地址

    Microsoft Visual C++ 2005 Microsoft Visual C++ 2005 Redistributable Package (x86)  https://www.micro ...

  3. 使用.net实现ZooKeeper客户端

    最近在项目中用到ZooKeeper, 通过Java连接比较容易,.net项目就没那么容易,尤其对于不熟悉Linux的开发人员,这里写点搭建ZooKeeper测试环境的经验,供参考. 背景知识: Zoo ...

  4. HTML5 SVG实现过山车动画

    HTML5 SVG实现过山车动画是一款jQuery特效很酷的HTML5 SVG动画,这款HTML5动画是过山车效果,主要是利用了SVG的path动画来实现的,效果非常酷. http://www.hui ...

  5. jQuery 中的常用函数

    on() : 方法在被选元素及子元素上添加一个或多个事件处理程序.自1.7 版本起,on()方法是 bind(),live() 和 delegate()方法的替代品 语法: $(selector).o ...

  6. Web性能测试中的几个概念【转】

    每秒查询率QPS:对一个特定的查询服务器在规定时间内所处理流量多少的衡量标准,即每秒请求数,即最大谈吐能力. 并发数:并发数和QPS是不同的概念,一般说QPS会说多少并发用户下QPS,当QPS相同时, ...

  7. POJ 3620 Avoid The Lakes(dfs算法)

    题意:给出一个农田的图,n行m列,再给出k个被淹没的坐标( i , j ).求出其中相连的被淹没的农田的最大范围. 思路:dfs算法 代码: #include<iostream> #inc ...

  8. bzoj 3685

    线段树 方法一: 值域线段树,递归去写的,每次节点存出现次数. 对于几个操作, 1,2 直接加减就好 ; 3,4 操作贪心往某一个方向找 .7也很简单,主要说前驱后继怎么找.我是先找这个数第几小,根据 ...

  9. storm源码剖析(2):storm的配置项

    storm的配置项,可以从backtype/storm/Config.java中找到所有配置项及其描述

  10. linux 进程学习笔记-进程跟踪

    进程跟踪 long ptrace(enum __ptrace_request request, pid_t pid, void *addr, void *data); Linux用ptrace来进行进 ...