題目1488:百萬富翁問題
#include
using
namespace
std;
int main()
cout
0;}
題目1489:計算兩個矩陣的乘積
#include
using
namespace
std;
int main()
; int b[3][2]=;
int sum = 0, i, j, k;
while(cin>>a[0][0]>>a[0][1]>>a[0][2])
}for(i=0; i<3; i++)
for(j=0; j<2; j++)
cin>>b[i][j];
for(i=0; i<2; i++)
cout
<0?" ":" \n");
sum = 0;}}
}return
0;}
注意:雖然題目沒有明確說明有多對矩陣乘積,但是寫的時候需要考慮。(3次ac)
#include
#include
void mystrcat(char dststr,char srcstr)
int main()
; char s[2000]=;
while(scanf("%s",d)!=eof)
return
0;}
注意:這裡我犯了乙個錯誤,使用了while(scanf(「%s」,d)),需要將該語句修改為:while(scanf(「%s」,d)!=-1)或while(scanf(「%s」,d)!=eof),不然會導致迴圈太多次,報錯output limit exceed。(2次ac)
題目1055:陣列逆置
#include
#include
using
namespace
std;
int main()
還有幾種字串反轉的辦法,見
題目1056:最大公約數
#include
using
namespace
std;
int main()
if(b%a==0) cout}}
}return
0;}
辦法比較笨,其實還有老師曾經教過的輾轉相除法,竟然想不起來了(t▽t),下面是找的簡潔的**。
#include
void main() /* 輾轉相除法求最大公約數和最小公倍數 */
printf("the largest common divisor:%d\n", a);
printf("the least common multiple:%d\n", m
*n/a);
}
題目1057:眾數
#include
#include
using
namespace
std;
int main()
; int tmp;
while(cin>>tmp)
int res = 1;
for(int i = 0; i<11; i++)
if(table[i]>table[res])
res = i;
cout
}return
0;}
題目1050:完數
#include
using
namespace
std;
int main()
}if(sum==i)
cout
<<' '
}}
九度機試筆記20170903 2
學習 九度機試指南3 如下。有乙個遺留問題 題目1051 數字階梯求和 等待解決,mark一下。題目1153 括號匹配問題 include include using namespace std stack s char src 101 char dst 101 int main else if s...
機試筆記1
1.scanf遇到空格會結束,所以讀入一行字串時可以使用getline cin,str 或者gets str gets會把回車讀入 2.在scanf和gets之間加入getchar 來消除 n 3.進製轉換 x十六進製制小寫,x十六進製制大寫 o 八進位制 4.2d表示這個數字佔2位,02d可以使數...
機試筆記6 查詢
查詢的問題一般可能會想到排序 二分查詢,或者順序查詢,但是在機試中很容易出錯,所以比較推薦用c 的map,雖然它實現的是雜湊表的功能,但是它的實現確實紅黑樹,所以平均時間複雜度為nlogn 第一類查詢問題即靜態查詢,有一組資料,在這資料中找某乙個值,當然值不會簡簡單單的給個整數,他可能是個結構體。這...