演算法 相關題目彙總(持續更新)

2022-02-13 05:22:55 字數 2536 閱讀 3404

餘初學演算法,題目較易,望諸大神指正而勿噴。

一、將乙個正整數分解質因數。例如:輸入90,列印出列印出90=2*3*3*5。

static

void 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、更相減損術

static

void 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個數相加),幾個數相加有鍵盤控制。

static

void main(string

args)

console.writeline(

"a+aa+aaa+...=

",s);

}

四、有1、2、3、4個數字,能組成多少個互不相同且無重複數字的三位數?都是多少?

static

void main(string

args)

,,",i,j,k);

console.writeline(

"the number is

",i,j,k );

count++;}}

}}

console.writeline(

"the total is.

",count);

}

五、輸出9*9口訣。

static

void 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 這裡需要先...