1. 程式人生 > 實用技巧 >20200821 滴滴秋招筆試

20200821 滴滴秋招筆試

1.給定n,輸出滿足abc+acc=n時的abc和acc,1<=a<=9,0<=b<9,0<=c<=9。

 1 #include <bits/stdc++.h>
 2 using namespace std;
 3 
 4 int main()
 5 {
 6     int n;
 7     int countt=0;
 8     vector<int> res1,res2;
 9     cin>>n;
10     for(int a=1;a<=9;a++){
11         for(int b=0;b<=9
;b++){ 12 for(int c=0;c<=9;c++){ 13 if(a!=b&&b!=c){ 14 if((a*100+b*10+c+a*100+c*10+c)==n){ 15 countt++; 16 res1.push_back(a*100+b*10+c); 17 res2.push_back(a*100+c*10+c); 18 }
19 } 20 } 21 } 22 } 23 cout<<countt<<endl; 24 for(int i=0;i<res1.size();i++){ 25 cout<<res1[i]<<" "<<res2[i]<<endl; 26 } 27 return 0; 28 }
View Code

2.螺旋倒序填入斐波那契數列。

 1 #include <bits/stdc++.h>
 2
using namespace std; 3 4 int main() 5 { 6 long long tmpfib[200]; 7 int index=0; 8 long long fib[20][20]; 9 int n; 10 11 tmpfib[0]=1; 12 tmpfib[1]=1; 13 for(int i=2;i<82;i++){ 14 tmpfib[i]=tmpfib[i-1]+tmpfib[i-2]; 15 } 16 17 /* 18 for(int i=0;i<82;i++){ 19 cout<<tmpfib[i]<<" "; 20 } 21 */ 22 23 cin>>n; 24 index=n*n-1; 25 for(int i=0;i<n/2;i++){ 26 for(int j=i;j<n-i;j++){ 27 fib[i][j]=tmpfib[index--]; 28 } 29 if(index<0) break; 30 for(int j=i+1;j<n-1-i;j++){ 31 fib[j][n-i-1]=tmpfib[index--]; 32 } 33 if(index<0) break; 34 for(int j=n-i-1;j>=i;j--){ 35 fib[n-i-1][j]=tmpfib[index--]; 36 } 37 if(index<0) break; 38 for(int j=n-2-i;j>=i+1;j--){ 39 fib[j][i]=tmpfib[index--]; 40 } 41 if(index<0) break; 42 } 43 if(n%2==1){ 44 fib[n/2][n/2]=1; 45 } 46 for(int i=0;i<n;i++){ 47 for(int j=0;j<n;j++){ 48 if(j==(n-1)){ 49 cout<<fib[i][j]<<endl; 50 }else{ 51 cout<<fib[i][j]<<" "; 52 } 53 } 54 } 55 return 0; 56 }
View Code

唉...