iOS 算法面试题(打印2-100之间的素数、求两个整数的最大公约数、查找字符串的位置)~demo

//联系人:石虎  QQ: 1224614774昵称:嗡嘛呢叭咪哄


一、打印2-100之间的素数。

    [cpp] view plain copy

    int main(int argc,constchar * argv[]) {

        for (int i =2; i <100; i++) {

            int r = isPrime(i);

            if (r ==1) {

                printf(“%ld “, i);

            }

        }

        return0;

    }

    

    int isPrime(int n){

        int i, s;

        for(i =2; i <= sqrt(n); i++)

            if(n % i ==0return0;

        return1;

    }



二、求两个整数的最大公约数

    [cpp] view plain copy

    int gcd(int a,int b) {

        int temp =0;

        if (a < b) {

            temp = a;

            a = b;

            b = temp;

        }

        while (b !=0) {

            temp = a % b;

            a = b;

            b = temp;

        }

        return a;

    }



三、查找字符串的位置

1、给定一个字符串,输出本字符串中只出现一次并且最靠前的那个字符的位置?如“abaccddeeef”,字符是b,输出应该是2

char *strOutPut(char *);

int compareDifferentChar(char,char *);

int main(int argc,constchar * argv[]) {

    

    char *inputStr =“abaccddeeef”

    char *outputStr =strOutPut(inputStr);

    printf(“%c \n”, *outputStr);

    return0;

}

char *strOutPut(char *s) {

    

    char str[100];

    char *p = s;

    int index =0;

    while (*s !=‘\0’) {

        

        if (compareDifferentChar(*s, p) ==1) {

            str[index] = *s;

            index++;

        }

        s++;

    }

    return &str;

}

int compareDifferentChar(char c,char *s) {

    

    int i =0;

    

    while (*s !=‘\0’ && i<=1) {

        

        if (*s == c) {

            i++;

        }

        s++;

    }

    

    if (i ==1) {

        

        return1;

        

    } else {

        

        return0;

        

    }


谢谢!!!

    原文作者:查找算法
    原文地址: https://blog.csdn.net/shihuboke/article/details/77145073
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞