1.计算2的n次幂,n可输入,n为自然数。
<input type="text" name="" id="a" value="" >
<button id="b">确定</button>
<script>
var a = document.getElementById('a')
var b = document.getElementById('b')
b.onclick = function(){
// 点击b发生的动作
a.value= Math.pow(2,a.value)
// inp的value值为 2*input的value的次方
}
</script>
2.计算n的阶乘,n可输入
<input type="text" name="" id="a" value="" >
<input type="text" id="c" value="">
<button id="b">确定</button>
<script>
var a = document.getElementById('a')
var b = document.getElementById('b')
var c = document.getElementById('c')
b.onclick = function(){
c.value = 1
// 把c的value为1
for(var i=1;i<=a.value;i++ ){
// 设置一个循环获取1-a 的value的数
c.value = c.value*i
// 让没个数和i叠加相乘 c.value,根据循环不断被赋值进行运算
}
}
</script>
3.著名的斐波那契数列: 1 1235 8输出第n项
<script>
var num = prompt('')
var a = 1
var b = 1
for(var i = 3; i<=num;i++){
// 在num中循环,获取3-num的值
var sum = a;
// 把a赋值给变量,保留未运算的a
a = a + b
// 让a等于 a+b 前两个数相加,获取相加后的a
b = sum
// 把未相加前的a赋值给b,让b循环参与运算
}
alert(a)
// 打印出相加后的a
</script>
4.编写一程序,输入- -个三位数的正整数,输出时反向输出。
<script>
var ip = document.getElementsByTagName('input')
var bu = document.getElementById('bu')
bu.onclick = function(){
ip[1].value =ip[0].value[2] + ip[0].value[1] + ip[0].value[0]
// 把里面input的Value值,按input的下标反过来
}
</script>
5.输入a,b,c三个数字,打印出最大的。
<script>
var a = document.getElementsByTagName('input')
var bu = document.getElementById('bu')
bu.onclick = function(){
console.log(Math.max(a[0].value,a[1].value,a[2].value));
// 1. 用math.max选取最大值再打印
// 2.
var arr = [a[0].value,a[1].value,a[2].value]
// 拿出每一个value声明成数组
var max = a[0].value
// 先让在最大值等于第一个
for(var i = 1;i<arr.length;i++){
if(arr[i]>max){
// 每一个值和第一个值进行比较,当出现有比地也个大的值的时候,最大值等于这个值
// 依次比较,直到获取最大值
max = arr[i]
}
}
console.log(max);
}
</script>
6.打印出100以内的质数 6.打印出100以内的质数
<script>
// 质数只能被1和本身整除,的也就是只有被一和本身取余为0
for(var i =1; i<101;i++){
// 获取1-100的数
var a= 0
for(var j = 1;j<=i;j++){
// 循环1-100,让他对每个数取余
if(i%j==0){
// 取余为0一次,a就增加一次
a++
}
}
if(a==2){
// 取余两次的时候为质数
var r =0
r +=i
console.log(i);
}
}
</script>
7.假如投资的年利率为5%,试求从1000块增长到5000块,需要花费多少年
<script>
var a = 0
// 声明一个天数
for(var i= 1000;i<=5000;){
// 声明一个钱数,让钱数<=5000
a++
// 每循环一次,天数+1
i = i*(1.05)
// 让钱数加上增假加的钱数,重新进入循环,到5000停止
}
console.log(a);
</script>
8.打印1-100之间所有奇数之和
<script>
var b = 0
for(var i = 1;i<101;i++){
// 先得到1-100的所有数
if( i%2!==0 ){
// 当每个数对2取余不为0为奇数
// console.log(i);
b+=i
// 每个奇数相加
}
}
console.log(b);
</script>
9.打印1-100之间所有7的倍数的个数及总和
<script>
var b = 0
var d = 0
for(var i = 1;i<101;i++){
// 获取1-100的数
if(i%7===0){
// 每个数对7取余为0的就是7的倍数
d++
// 每获取一个数d增加一个,获取多少个数,就是d的个数,7的倍数的个数
b+=i
// 让每个7的倍数相加
}
}
console.log(b);
console.log(d);
</script>
10.输入-个大于1的整数,判断该数是否是质数
<script>
var a = document.getElementById('a')
var b = document.getElementById('b')
var j =0
b.onclick = function(){
var arr= a.value
for(var i = 1;i<=arr;i++){
// 声明i <=value的数字,让i自增
if(arr%i==0){
// 让value的数字对i取余,当对1和自身取余的时候为0,会被整除
j++
// 每被取余为0一次,自增一次
}
}
if(j==2){
// 当自增两次的时候,也就是被1和自身整除,j++两次,为质数
alert('是')
}else{
alert('否')
}
}
</script>
11.通过程序,打印出正三角,倒三角
<script >
var str = ''
for( var i = 1;i<=3;i++){
for(var j=6;j>=i;j--){
str+=' '
}
str+= '*'
for(var k =1;k<i;k++){
str += '*'
str+='*'
}
str += '\n'
}
console.log(str);
var box = ''
for (var i = 9; i>0 ; i--){
for(var j =1; j <= i; j++){
box += '*' +'\t'
// 第一行的列数j*行数i
}
box += '\n'
}
console.log( box);
</script>
12.打印99乘法表
<script>
var str = ''
for (var i = 1; i<= 9 ; i++){
// 获取行数,一共有9行
for(var j =1; j <= i; j++){
// 获取列数,列数要<=行数
str += j + '*' + i + '=' + i*j + '\t'
// 第一行的列数j*行数i 加一个空格
}
str += '\n'
// 每循环一次完成一次换行
}
console.log( str);
</script>