餘初學演算法,題目較易,望諸大神指正而勿噴。
一、將乙個正整數分解質因數。例如:輸入90,列印出列印出90=2*3*3*5。
staticvoid main(string
args)
=",n);//
確保列印出"n=..."
for (i = 2; i <= n; i++)
*", i);
n /= i;//
將n整除i後的值繼續賦給n,來尋找下乙個質因數。如果不用整除後的值,則下一次能夠整除得到的不是質因數。
}
else
break
; }
}console.write(n);
}
二、輸入兩個正整數m和n,求其最大公約數和最小公倍數。
兩種方案:1、歐幾里德演算法(輾轉相除法);2、更相減損術
staticvoid main(string
args)
int m=a;
int n=b;
while (n!=0)//
此時的n儲存的是m除以n的餘數,判斷餘數是否為0即判斷n是否為0
console.writeline(
"the greatest common divisor is
",m);
//最大公因數與最小公倍數的關係:兩數乘積==最大公因數*最小公倍數。
console.writeline("
the least common multiple is
",a*b/m);
//更相減損術
/*概述:第一步:任意給定兩個正整數;判斷它們是否都是偶數。若是,則用2約簡;若不是則執行第二步。
第二步:以較大的數減較小的數,接著把所得的差與較小的數比較,並以大數減小數。繼續這個操作,直到所得的減數和差相等(兩數
* 相等)為止。
則第一步中約掉的若干個2與第二步中等數(最終兩數相等時的值)的乘積就是所求的最大公約數。
*/int ans = 1;//
儲存第一步中約掉的若干個2
int result = 0;//
最終結果
if (a%2==0&&b%2==0
)
}while (a!=b)
else
b -=a;
}result = a * ans;//
第一步中約掉的若干個2與第二步中等數(最終兩數相等時的值)的乘積就是所求的最大公約數。
console.writeline("
the greatest common divisor is
", result);
//最大公因數與最小公倍數的關係:兩數乘積==最大公因數*最小公倍數。
console.writeline("
the least common multiple is
", a * b /result);
}}
三、求s=a+aa+aaa+aaaa+aa...a的值,其中a是乙個數字。例如2+22+222+2222+22222(此時 共有5個數相加),幾個數相加有鍵盤控制。
staticvoid main(string
args)
console.writeline(
"a+aa+aaa+...=
",s);
}
四、有1、2、3、4個數字,能組成多少個互不相同且無重複數字的三位數?都是多少?
staticvoid main(string
args)
,,",i,j,k);
console.writeline(
"the number is
",i,j,k );
count++;}}
}}
console.writeline(
"the total is.
",count);
}
五、輸出9*9口訣。
staticvoid main(string
args)
*=", i, j, i *j);
console.write(""
); }
else
break
; }
console.writeline();
//換行
}
//方案二:對方案一的簡化
for (i = 1; i <= 9; i++)//
控制行數
*=", i, j, i *j);
console.write(""
); }
console.writeline();
//換行
} }
單鏈表的相關題目 持續更新
最近開設了資料結構的課程,我會整理成乙個系列,幫助自己整理和鞏固知識點。請完成下列演算法填空現對單鏈表的逆置儲存,逆置儲存是指將元素線性關係逆置後的鍊錶儲存,例如 a0,a1,a2 關係逆置後為 a2,a1,a0 單鏈表結點node和單鏈表singlelist結構體定義如下 typedef stru...
排序演算法相關
1.1氣泡排序 氣泡排序的基本原理是 依次比較相鄰的兩個數,將大數放在前面,小數放在後面,也即首先比較第乙個和第二個數,將大數放在前面,小數放在後面。然後比較第2個數和第3個數,將大數放前,小數方後,依次直至比較最後兩個數。如此在第一輪最後的數必定是所有數中最小的,然後重複以上過程將所有小數放在最後...
KMP演算法(相關題目 leetcode28題)
1.解決的問題 解決字串匹配問題。換言之,判斷乙個字串 原串 裡面是否包含另乙個字串 模式串 2.簡介 knuth morris pratt 簡稱kmp 演算法,是三個發明者名字首字母。3.舉例 原串 str abafcdabafdcc,索引為 i,模式串 tar abafd,索引為 j 這裡需要先...