/******求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. c语言学习的第12天

    #include <stdio.h> int main(void) { int *p; int i=5; char ch='A'; p=&i; *p=99; printf(&quo ...

  2. entity framework WithRequiredDependent和WithRequiredPrincipal

    A->WithRequiredDependent->B 表示 A中包含B的不为null实例 ,A是主键实体  B是外键实体 A->WithRequiredPrincipal-> ...

  3. 深度学习在gilt应用——用图像相似性搜索引擎来商品推荐和服务属性分类

    机器学习起源于神经网络,而深度学习是机器学习的一个快速发展的子领域.最近的一些算法的进步和GPU并行计算的使用,使得基于深度学习的算法可以在围棋和其他的一些实际应用里取得很好的成绩. 时尚产业是深度学 ...

  4. BZOJ-4003:城池攻占(可并堆+lazy标记)

    小铭铭最近获得了一副新的桌游,游戏中需要用 m 个骑士攻占 n 个城池. 这 n 个城池用 到 n 的整数表示.除 号城池外,城池 i 会受到另一座城池 fi 的管辖, 其中 fi <i.也就是 ...

  5. MySQL与EXCEL sum sumif sumifs 函数结合_品牌汇总_20161101

    计算一些数不难,整体来说还是要培养自我的逻辑意识,逻辑清楚,代码自然而然就知道,总体上训练自己的逻辑,一个是从用户角度,一个是从产品角度. 用户角度需要考虑的是用户的活跃度,具体又可以细分为用户的注册 ...

  6. bzoj 1119 [POI2009] SLO & bzoj 1697 牛排序 —— 置换+贪心

    题目:https://www.lydsy.com/JudgeOnline/problem.php?id=1119 https://www.lydsy.com/JudgeOnline/problem.p ...

  7. maven学习九 关于maven一些參數

    一 maven profile:      不同的运行环境,比如开发环境.测试环境.生产环境,而我们的软件在不同的环境中,有的配置可能会不一样,比如数据源配置.日志文件配置.以及一些软件运行过程中的基 ...

  8. caffe c++

    http://blog.csdn.net/yao_zhuang/article/details/1853625

  9. React库protypes属性

    Prop 验证 随着应用不断变大,保证组件被正确使用变得非常有用.为此我们引入propTypes.React.PropTypes 提供很多验证器 (validator) 来验证传入数据的有效性.当向 ...

  10. ajax方法data参数用法的总结

    源文件分析: data的传递格式有两种:一是url字符串格式:一种是Json格式,格式分别如上 区别是:当传递的参数中包含 特殊字符如:&时,服务器解析这个参数时就会出错,而必须用encode ...