<p>1 打印出1-100裡所有的偶數</p>

<script>
// for(var i=1;i<=100;i++){
// if(i%2==0){
// document.write(i+" ");
// }
// }
</script>

<p>2 打印出1-100裡所有的奇數</p>

<script>
// for(var i=1;i<=100;i++){
// if(i%2==1){
// document.write(i+" ");
// }
// }
</script>

<p>3 求出1-1/2+1/3-1/4…..1/100的結果</p>

<script>
// 把所有加減數都看成加數,如把(-1/2)看成+(-1/2)
var j=0; //儲存所有加數
for(var i=2;i<=100;i++){ /*加數的分母,從2開始*/
if(i%2==0){ /*如果能是偶數,置為正數,-1/i*/
j+=-1/i; /*把這些數相加並儲存起來*/
}else{ /*如果能是偶數,置為負數+1/i*/
j+=+1/i; /*把這些數相加並儲存起來*/
}
}
console.log(1+j); /*然後加上所有的加數*/
</script>

<p>4 輸出20-80之間能被3整除的整數,每5個一行</p>

<script>
var j=1;/*儲存已經獲得的個數*/
for(var i=20;i<=80;i++){
if(i%3==0){/*如果i是能被3整除的數*/
document.write(i+" ");就把i輸出
if(j%5==0){/*如果是5的倍數,也就是滿5個那就輸入一個轉行*/
document.write("<br>")
}
j++;
}
}
</script>

<p>5 打印出1000-2000年中所有的閏年,並以每行四個數的形式輸出(提示:四年一閏,百年不閏,四百再閏)。</p>

<script>
//一
var j=0; /*儲存閏個數*/
for(var i=1000;i<=2000;i++){
if((i%100!=0)){ /*不是100年的*/
if(i%4==0){ /*不是100年且是4年的*/
j++;
document.write(i+" ")
if(j%4==0){
document.write("<br>")
}
}
}else{
if(i%400==0){ /*是400年的*/
j++;
document.write(i+" ")
if(j%4==0){
document.write("<br>")
}
}
}
}
//二
var j=0; /*儲存閏年個數*/
for(var i=1000;i<=2000;i++){
if((i%4==0&&i%100!=0)||(i%400==0)){ /*能被4整除且不能被100整數,或,能被400整除*/
j++;
document.write(i+" ");
if(j%4==0){ /*如果閏年個數為4個再輸出一個轉行*/
document.write("<br>");
}
}
}
</script>

<p>6 輸入一個數,判斷其是否為素數(提示:在大於1的自然數中,除了1和它本身以外不再有其他因數的數)。</p>

<script>
//方法一
document.write('<input id="ipt"><button id="btn">判斷</button>');
var ipt=document.getElementById("ipt");
var btn=document.getElementById("btn");
btn.onclick=function(){
var j=0;/*儲存因數個數*/
if(!(isNaN(ipt.value))&&!(ipt.value<=1)&&!(ipt.value=="")&&!(ipt.value%1!=0)){//條件分別是:不為非數字、不小於等於1、不為小數
for(var i=1;i<=ipt.value;i++){
if((ipt.value/i)%1==0){ /*如果餘數為0,就是因數。 【(ipt.value/i)%1】 可以寫成 【(ipt.value)%i】 */
j++;
}
}
if(j==2){ /*如果因數個數最大為2*/
alert("是素數")
}
}else{
alert("請輸入大於1的整數")
}
} //方法二,數字4有問題
// document.write('<input id="ipt"><button id="btn">判斷</button>');
// var btn=document.getElementById("ipt");
// var btn1=document.getElementById("btn");
// btn1.onclick=function(){
// var number=parseInt(btn.value);
// if(abc(number)){ /*如果abc()返回真才執行*/
// alert(number + "是素數");
// }else{
// alert(number + "不是素數");
// }
// }
// function abc(num){ /*相當於在函式內的聲明瞭變數: var num*/
// if(num==1){ //1不是素數
// return false; //結束函式
// }else{
// for(var i=2;i<Math.sqrt(num);i++){ //如數字10中5(一半)以下的除不盡,5以上也沒有能除盡的了。所以開方一下Math.sqrt,以減少迴圈。
// if(num%i==0){
// return false;
// }
// }
// }
// return true;
// } </script>

<p>7 求100-200之間的素數</p>

<script>
for(var i=100;i<=200;i++){
var k=0; /*儲存因數個數*/
for(var j=1;j<=i;j++){ /*除數*/
if((i/j)%1==0){ 如果商沒有小數,開始合計因數個數
k++;
}
}
if(k==2){ /*因數總個數為2就是素數*/
document.write(i+" ")
}
}
</script>

<p>8 任給正整數n,計算  1!+2!+3!+ …+n!。(提示:3!=3*2*1)</p>

<script>
document.write('<input id="ipt"><button id="btn">計算</button>');
var ipt=document.getElementById("ipt");
var btn=document.getElementById("btn");
var j=1; /*儲存階乘值*/
var k=0; /*儲存階乘值的和*/
btn.onclick=function(){
if(!(isNaN(ipt.value)) && !(ipt.value%1!=0) && !(ipt.value<1)){
for(var i=1;i<=ipt.value;i++){
j*=i;
k+=j;
}
alert(k)
}else{
alert("請輸入大於1的整數")
}
}
</script>

<p>9 求Sn=a+aa+aaa+……+aa……a之值,其中a是一個數字,n是文字框輸入的。</p>

<script>
document.write('輸入a:<input id="ipt" value>輸入n:<input id="ipt2"><button id="btn">計算</button>')
btn.onclick=function(){
var s1=0;
var s2=0;
var a=document.getElementById("ipt");
var n=document.getElementById("ipt2");
var btn=document.getElementById("btn");
if((!(isNaN(n.value)) && !(n.value<1) && !(n.value%1!=0)) && !(isNaN(a.value)) && !(a.value<1) && !(a.value%1!=0)){
for(var i=0;i<=(n.value-1);i++){ /*i是次方*/
s1+=a.value*Math.pow(10,i); /*從低位開始還原數位,如1=1*10^1;10=1*10^2;100=10*10^3;...再把他們相加,也就是s1,合成完整數字。如111*/
s2+=s1; /*把每次合成的值儲存在s2中,作為題目中的加數之一*/
}
alert(s2*2-s1);//從題目的式子可以看出,1+11+111+11+1,其中出了111只被加一次其他都加了兩次,所以直接把之前計算的s2*2再減去最後合成的一個數s1就可以了。
}else{
alert("請輸入大於0的整數")
}
} document.write('輸入a:<input id="ipt" value>輸入n:<input id="ipt2"><button id="btn">計算</button>')
btn.onclick=function(){
var s1=0;
var s2=0;
var a=document.getElementById("ipt");
var n=document.getElementById("ipt2");
var btn=document.getElementById("btn");
if((!(isNaN(n.value)) && !(n.value<1) && !(n.value%1!=0)) && !(isNaN(a.value)) && !(a.value<1) && !(a.value%1!=0)){
for(var i=0;i<=(n.value-1);i++){ /*i是次方*/
s1+=a.value*Math.pow(10,i); /*從低位開始還原數位,如1=1*10^1;10=1*10^2;100=10*10^3;...再把他們相加,也就是s1,合成完整數字。如111*/
s2+=s1; /*把每次合成的值儲存在s2中,作為題目中的加數之一*/
}
alert(s2);//從題目的式子可以看出,1+11+111+11+1,其中出了111只被加一次其他都加了兩次,所以直接把之前計算的s2*2再減去最後合成的一個數s1就可以了。
}else{
alert("請輸入大於0的整數")
}
}
</script>