/******求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. python当前工作文件夹中创建空的.txt文件

    import os def new_txt(): a1='实线' b = os.getcwd() + '\\fazhandadao_test_txt\\' if not os.path.exists( ...

  2. matlab的调试

    MATLAB(1)——基本调试方法(Debug)           链接:http://www.cnblogs.com/xingshansi/articles/6477185.html 前言 之前经 ...

  3. RQNOJ 311 [NOIP2000]乘积最大:划分型dp

    题目链接:https://www.rqnoj.cn/problem/311 题意: 给你一个长度为n的数字,用t个乘号分开,问你分开后乘积最大为多少.(6<=n<=40,1<=k&l ...

  4. javascript(9)

    js中访问函数 p1.abc() p1["abc"]; js中基于对象 == js面向对象

  5. 分享知识-快乐自己:IDEA 导入(web)项目并部署到 Tomcat

    IDEA 导入 (WEB)项目并部署到 Tomcat 1):导入 Web 项目 2):首先更改 JDK 环境  右键项目: 第一步:点击 Modules  第二步:点击 Libraries 第三步:点 ...

  6. ajax异步上传文件FormDate方式,html支持才可使用

    今天需要做一个头像的预览功能,所以我想到了异步上传文件. 总结几点: 异步上传难点: 文件二进制流如何获取 是否需要设置表单的头,就是content-Type那里.异步,所以无所谓了吧. 其他就差不多 ...

  7. Wireshark 的使用 —— 过滤器(filter)

    1. 基本 ip 地址: 目的IP:ip.dst==192.168.101.8,源ip:ip.src==1.1.1.1 不区分源和目的:ip.addr == 192.168.101.8: 端口过滤: ...

  8. @Autowired的作用,自动装配,省去写get/set方法

    这个注解就是spring可以自动帮你把bean里面引用的对象的setter/getter方法省略,它会自动帮你set/get. <bean id="userDao" clas ...

  9. SQL SERVER 判断是否存在数据库、表、列、视图

    SQL SERVER 判断是否存在数据库.表.列.视图 --1. 判断数据库是否存在 IF EXISTS (SELECT * FROM SYS.DATABASES WHERE NAME = '数据库名 ...

  10. KCF+Opencv3.0+Cmake+Win10 测试

    配置 需要的文件下载 安装CMake,安装opencv3.0.0 在KCFcpp-master 目录下新建一个文件夹,命名为build 打开CMake-GUI配置如下: 点击Configure,编译器 ...