C语言经典题目(13)

简介: C语言经典题目(13)

61. 写一个函数isPowerOfTwo判断是不是2的幂次方

在这里插入图片描述

bool isPowerOfTwo(int n)
{
   unsigned int k = 1;
    if(n<=0)
        return false;
    if(n==1)
        return true;
    for(int i = 1;i<32;i++)
    {
        k*=2;
        if(k==n)
            return true;
    }
    return false;
}
AI 代码解读

62. 写一个函数isPowerOfThree判断是不是3的幂次方

在这里插入图片描述

bool isPowerOfThree(int n){
    unsigned int k = 1;
    if(n<=0)
        return false;
    if(n==1)
        return true;
    for(int i = 0;i<=20;i++)//3的20次幂已经是32位整型的上限了。
    {
        k*=3;
        if(k==n)
            return true;
    }
    return false;

}
AI 代码解读

63.n 的第 k 个因子

在这里插入图片描述

int kthFactor(int n, int k)
{
    int count = 0;
    for(int i = 1;i<=n;i++)
    {
        if(n%i==0)
            count++;
        if(count==k)
            return i;
    }
    return -1;
}
AI 代码解读

64.有效的完全平方数

在这里插入图片描述

防止溢出,要用long long型
死循环枚举所有情况
bool isPerfectSquare(int num)
{
    int i = 0;
    long long sum = 0;
    while(1)
    {
        i++;
        sum=(long long)i*i;
        if(sum==num)
            return true;
        if(sum>=num)
            return false;
    }
}
AI 代码解读

65.搜索旋转排序数组

int search(int* nums, int numsSize, int target)
{
    int i;
    for(i =0; i < numsSize; i++ )
    {
        if(nums[i]== target)
        {
            return i;
        }
    }
    return -1;
}
AI 代码解读
目录
打赏
0
0
0
0
24
分享
相关文章
C语言:数组和指针笔试题解析(包括一些容易混淆的指针题目)
C语言:数组和指针笔试题解析(包括一些容易混淆的指针题目)
148 1
2.C语言题目---字符串左旋
2.C语言题目---字符串左旋
120 1
1.C语言题目---指针类(基础)
1.C语言题目---指针类(基础)
102 1
【C语言】LeetCode(力扣)上经典题目
【C语言】LeetCode(力扣)上经典题目
157 1
【C语言】指针练习题目
【C语言】指针练习题目
133 2
数据结构学习记录——树习题—Tree Traversals Again(题目描述、输入输出示例、解题思路、解题方法C语言、解析)
数据结构学习记录——树习题—Tree Traversals Again(题目描述、输入输出示例、解题思路、解题方法C语言、解析)
133 1
PTA 浙大版《C语言程序设计(第3版)》题目集 习题8-4 报数 (20分)
PTA 浙大版《C语言程序设计(第3版)》题目集 习题8-4 报数 (20分)
C语言 浙大版《C语言程序设计(第3版)》题目集 练习8-8 移动字母 (10分)
C语言 浙大版《C语言程序设计(第3版)》题目集 练习8-8 移动字母 (10分)
AI助理

你好,我是AI助理

可以解答问题、推荐解决方案等