20200906 丁浪_打卡第一天

一天小结

今日做腾讯笔试题,做的很差!应该来讲给富余的时间是能完成的,但是这不可能,只能确保做对一个题目,第二个题目我设计的几组测试数据都通过了的,但是系统没有过,页没有多余的测试用例让我去发现问题,第四个小题是最后十几秒交的,想来应该没问题,但是没有看到系统的回应。这次笔试题应当是挂了,但我也发现了自己一个很大的问题,就是还是很有花时间去想和练习,但是总是有点“不太正经”,打算今后每天练五个题目,持续一个月,今天大概写了两个小时吧,题目如下:

  • 阶乘
  • 斐波那契数列
  • 百鸡百钱
  • 冒泡排序
  • 回文数

题目都不男,除了回文数一题之外,都有意识的去尝试代码优化,同时有意思的思考函数接口一些细节问题,代码附在下方:

#include<stdio.h>

long fun01(int n){
    if(0==n){
        return 1;
    }
    int i;
    int ans=n;
    for(i=1;i<n;i++){
        ans*=i;
    }
    
    return ans;
}

int main(){
    int n;
    int ans;
    
    for(n=0;n<6;n++){
        ans=fun01(n);   
        printf("%d\n",ans);
    }
    
    
    return 0; 
} 
#include<stdio.h>
/**
    ...数列,a1=1,a2=1,an=a'n-1'+a'n-2':n>2 
*/
long  fun01(int n){
    int i;
    int f,s,t;
    if(n==1||n==2){
        return 1;
    }
    f=1;
    s=1;
    for(i=3;i<n+1;i++){  
        //思考关于边界点 3:... 4:... 
        t=f+s;
        f=s;
        s=t;
    }
    return t;
}

int main(){
    int n;
    int ans;
    for(n=1;n<10;n++){
        ans=fun01(n);
        printf("%d\n",ans);
    }
    
    return 0;
}
/**
    回文数形如 
        abccba
        abcba 
    abc为十进制数位
     
*/

#include<stdio.h>

int fun01(long n){
    /**
        返回值为非0值时输入的数位回文数 
    */
    //#define LONG_MAX  2147483647L
    char chs[12];
    int len=sprintf(chs,"%ld",n);
    char * pf=chs;
    char * pl=(chs+len-1);
    int flg=1;  //默认为回文数,一旦不满足条件跳出 
    while(pf<pl){
        if(*pf!=*pl) {
            flg=0;
            return flg;
        } 
        pf++;
        pl--;
    }
    return flg; 
}

int main(){
    printf("%d\n",fun01(121));

    printf("%d\n",fun01(1221));
    
    printf("%d",fun01(12221));
    printf("%d",fun01(12321));
    printf("%d",fun01(123321));
    printf("%d",fun01(1221));
    printf("%d",fun01(1321));
    printf("%d",fun01(1231));
    return 0;
} 
#include<stdio.h>


void fun01(char chs[],int len){
    int i,j;
    for(i=0;i<len;i++){
        //小的上浮
        for(j=0;j<len-i-1;j++){
            if(chs[j]<chs[j+1]){
                chs[j]+=chs[j+1];  //3 1
                chs[j+1]=chs[j]-chs[j+1];
                chs[j]=chs[j]-chs[j+1];
            }
        } 
    }   
    
}
int main(){
    char *str="Hello world,Hello Sichuan";
    char chs[64];
    int len=sprintf(chs,"%s",str);
        
    
    int i;

    fun01(chs,len);
    printf("%s",chs);
    return 0;
} 
/**
    鸡翁一值钱五,鸡母一值钱三,鸡雏三值钱一。
    百钱买百鸡,鸡公几,鸡母几,鸡雏几 
*/

#include<stdio.h>
void fun01(){
    /**
        转化:
            鸡翁一值钱10,鸡母一值钱6,鸡雏一值钱一。
            三百钱买百鸡,鸡公几,鸡母几,鸡雏几  
    */
    int i,j;  //鸡公,鸡母 
    for(i=0;i<21;i++){
        for(j=0;j<34;j++){
            if(15*i+9*j+(100-i-j)==300){
                printf("鸡公:%d,鸡母:%d,鸡雏:%d\n",i,j,100-i-j);
            }
        }
    } 
}


int main(){
    fun01();
    
    return 0;
} 

评论


© 2021 成都云创动力科技有限公司 蜀ICP备20006351号-1