/******求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. jQuery/CSS3实现Android Dock效果

    在线演示 本地下载

  2. python基础-文本操作

    文件IO #文件的基本操作 1.在python中你可以用file对象做大部分的文件操作 2.一般步骤: 先用python内置的open()函数打开一个文件,并创建一个file对象, 然后调用相关方法进 ...

  3. SpringBoot_Exception_02_Failed to execute goal org.springframework.boot:spring-boot-maven-plugin:1.5.6.RELEASE:run

    一.现象 上一个异常解决之后,出现了这个异常: [WARNING] The requested profile "pom.xml" could not be activated b ...

  4. 机器学习 scikit-learn 图谱

    scikit-learn 是机器学习领域非常热门的一个开源库,基于Python 语言写成.可以免费使用. 网址: http://scikit-learn.org/stable/index.html 上 ...

  5. [acm]HDOJ 1200 To and Fro

    题目连接: http://acm.hdu.edu.cn/showproblem.php?pid=1200 简单字符串处理,找规律 /* 11509672 2014-08-21 11:32:55 Acc ...

  6. 关于在linux python源文件头部添加 “#!/usr/bin/env python” 不能直接运行的问题

    如果环境变量设置正确 如果文件是从windows拷贝到linux中的 可能是换行符造成的.试试dos2unix命令,或相似的命令,把dos格式的换行符转为unix格式.

  7. 「UVA11181」 Probability|Given(概率

    题意翻译 有n个人要去买东西,他们去买东西的概率为p[i]. 现在得知有r个人买了东西,在这种条件下,求每个人买东西的概率. 感谢@s_r_f 提供翻译 题目描述 PDF 输入输出格式 输入格式: 输 ...

  8. Godot-3D教程-01.介绍3D

    创建一个3D游戏将是个挑战,额外增加的Z坐标将使许多用于2D游戏的通用技术不再有用.为了帮助变换(transition),值得一提的是Godot将使用十分相似的API用于2D和3D. 目前许多节点是公 ...

  9. MQTT协议简介及协议原理

    MQTT(Message Queuing Telemetry Transport,消息队列遥测传输协议),是一种基于发布/订阅(publish/subscribe)模式的“轻量级”通讯协议,该协议构建 ...

  10. 跑monkey前开启/关闭下拉栏

    @echo off cls title 别忘了跑monkey啊 :menu cls color 0A echo. echo 1.禁用systemui并重启 echo. echo 2.启用systemu ...