码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • C语言百日刷题第七天


    C语言百日刷题第七天

        • 61. 写一个函数isPowerOfTwo判断是不是2的幂次方
        • 62. 写一个函数isPowerOfThree判断是不是3的幂次方
        • 63.n 的第 k 个因子
        • 64.有效的完全平方数
        • 65.搜索旋转排序数组
        • 66.桌上拿硬币
        • 67.计算生成元
        • 68.计算分子量
        • 69.最佳情侣身高差
        • 70.拯救外星人

    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;
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15

    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;
    
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15

    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;
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12

    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;
        }
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14

    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;
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12

    66.桌上拿硬币

    在这里插入图片描述

    67.计算生成元

    在这里插入图片描述
    生成元:X+X的每一位数字之和等于Y,则X是Y的生成元。
    例如:
    输入216则他的最小生成元是198
    因为198 + 1 +9 +8 = 216

    #include
    int main()
    {
    	int x, y, z, gen = 0;
    	scanf("%d", &y);
    	for (int i = 1; i < y; i++)
    	{
    		x = i; z = i;
    		while (i > 0)
    		{
    			x = x + i % 10;
    			i = i / 10;
    		}
    		i = z;
    		if (x == y)
    		{
    			gen = 1;
    			printf("%d", i);
    			break;
    		}
    	}
    	if (gen != 1)
    	{
    		printf("0");
    	}
    	return 0;
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27

    68.计算分子量

    在这里插入图片描述

    #include
    int main() 
    {
        char c;
        char s[1000];
        double arr[200];
        arr['C'] = 12.01;
        arr['O'] = 16.00;
        arr['H'] = 1.008;
        arr['N'] = 14.01;
        //输入字符串
        scanf("%s", s);
        int i = 0;
        double w = 0;
        //循环遍历s字符串
        while (s[i] != '\0') 
        {
            int sum = 0;
            c = s[i];
            i++;
            //判断下一位是否为数字
            while (s[i] >= '0' && s[i] <= '9') 
            {
                //如果数字 求出数字大小
                sum = sum * 10 + s[i] - '0';
                //进行自加 便以判断下一位
                i++;
            }
            //如果有数字进行以下操作
            if 
                (sum)w = w+ sum * arr[c];
            else 
                w = w + arr[c];
        }
        printf("%.3f g/mol\n", w);
        return 0;
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31
    • 32
    • 33
    • 34
    • 35
    • 36
    • 37

    69.最佳情侣身高差

    在这里插入图片描述

    ‘\n’表示忽略所有的空白字符,输入非空白字符结束输入 ,不加’\n’会使c接收换行符

    
    #include
    int main()
    {
        int n,i;
        char c;
        double h,s;
      	scanf("%d\n", &n); 
        for(i=0;i<n;i++)
        {
            scanf("\n%c%lf",&c,&h);
            s=0;
            if(c=='M')
            {
                s=h/1.09;
            }
            else
            {
                s=h*1.09;
            }
            printf("%.2lf\n",s);
        }
        return 0;
    }
    
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25

    70.拯救外星人

    在这里插入图片描述

    #include
    int main()
    {
    	int a,b,i,sum=1;
    	scanf("%d%d",&a,&b);
    	for(i=1;i<=a+b;i++)
    	    sum*=i;
    	printf("%d\n",sum);		
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
  • 相关阅读:
    (九)学习笔记:动手深度学习(多层感知机 + 代码实现)
    数组20—pop() :从数组末尾删除一个元素
    deepstream学习笔记(三):deepstream-imagedata-multistream解析与接入适配yolov5模型测试
    python:日期时间处理
    神经网络仿真实验matlab,神经网络及其matlab实现
    基于VUE+Node实现MapReduce的分布式计算系统
    [LeetCode85双周赛] [滑动窗口] [差分数组] [并查集]
    【洛谷P1854,gzoj1086】花店柜台布置【DP】
    二分查找——34. 在排序数组中查找元素的第一个和最后一个位置
    生产问题分析:批量执行慢,根据日志进行分析。
  • 原文地址:https://blog.csdn.net/weixin_61084441/article/details/127725399
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号