[解题报告]《算法零基础100讲》(第9讲) 算术基本定理

简介: [解题报告]《算法零基础100讲》(第9讲) 算术基本定理

文章目录


前言


主要知识点


枚举所有因子加和


课后习题详解


完美数


思路


结果分析


丑数


思路


结果分析


最后总结



前言


这是今天第二次打卡,基础知识在《算法零基础100讲》(第9讲) 算术基本定理


主要知识点


枚举所有因子加和


 

int sum = 1,i;
    for(i = 2;i*i < num;i++){
        if(num % i == 0){
            sum += i;
            sum += num /i;
        }
    }
    if(i*i == num) sum += i;

其实就是枚举,没啥技巧,只不过因子成对出现减少了一点点时间,我这种写法只需要最后判断是否是根号num 节约一点点时间。然后我因为从2开始 所以直接就减少了加减num的过程。


课后习题详解


完美数


507. 完美数

https://leetcode-cn.com/problems/perfect-number/


给定一个 整数 n, 如果是完美数,返回 true,否则返回 false


思路


直接找直接用。。没啥难度


bool checkPerfectNumber(int num){
    int sum = 1,i;
    if(num == 1) return false;
    for(i = 2;i*i < num;i++){
        if(num % i == 0){
            sum += i;
            sum += num /i;
        }
    }
    if(i*i == num) sum += i;
    return sum == num;
}

结果分析


image.png


满意了满意了,你们呢?


丑数


263. 丑数

https://leetcode-cn.com/problems/ugly-number/

给你一个整数 n ,请你判断 n 是否为 丑数 。如果是,返回 true ;否则,返回 false 。


思路


拼命除,最后看是不是1不就完了?


bool isUgly(int n){
    if(n < 1) return false;
    while(n % 2 ==0) n /= 2;
    while(n % 3 == 0) n /= 3;
    while(n % 5 == 0) n /= 5;
    return n == 1;
}

结果分析


image.png


满意了满意了,你们呢?


最后总结



相关文章
|
8月前
|
算法 Java C语言
第十四届蓝桥杯集训——练习解题阶段(无序阶段)-ALGO-246 算法训练 猴子吃包子
第十四届蓝桥杯集训——练习解题阶段(无序阶段)-ALGO-246 算法训练 猴子吃包子
69 2
|
8月前
|
算法 安全 Java
非启发式算法——中国剩余定理
非启发式算法——中国剩余定理
132 0
|
8月前
|
算法 Java C语言
第十四届蓝桥杯集训——练习解题阶段(无序阶段)-ALGO-48 算法训练 关联矩阵
第十四届蓝桥杯集训——练习解题阶段(无序阶段)-ALGO-48 算法训练 关联矩阵
71 0
|
8月前
|
算法 Java C语言
第十四届蓝桥杯集训——练习解题阶段(无序阶段)-ALGO-42 算法训练 送分啦
第十四届蓝桥杯集训——练习解题阶段(无序阶段)-ALGO-42 算法训练 送分啦
68 0
|
8月前
|
算法 Java C语言
第十四届蓝桥杯集训——练习解题阶段(无序阶段)-ALGO-8 算法训练 操作格子 线段树
第十四届蓝桥杯集训——练习解题阶段(无序阶段)-ALGO-8 算法训练 操作格子 线段树
62 0
|
8月前
|
算法 Java Serverless
第十四届蓝桥杯集训——练习解题阶段(无序阶段)-ALGO-444 算法训练 求和问题
第十四届蓝桥杯集训——练习解题阶段(无序阶段)-ALGO-444 算法训练 求和问题
60 1
|
8月前
|
算法 Java C语言
第十四届蓝桥杯集训——练习解题阶段(无序阶段)-ALGO-439 算法训练 简单字符变换
第十四届蓝桥杯集训——练习解题阶段(无序阶段)-ALGO-439 算法训练 简单字符变换
62 1
|
8月前
|
人工智能 算法 Java
第十四届蓝桥杯集训——练习解题阶段(无序阶段)-ALGO-7 算法训练 逆序对 平衡二叉树
第十四届蓝桥杯集训——练习解题阶段(无序阶段)-ALGO-7 算法训练 逆序对 平衡二叉树
63 0
|
8月前
|
算法 Java C语言
第十四届蓝桥杯集训——练习解题阶段(无序阶段)-ALGO-49 算法训练 寻找数组中最大值
第十四届蓝桥杯集训——练习解题阶段(无序阶段)-ALGO-49 算法训练 寻找数组中最大值
57 0
|
3月前
|
算法 Java 程序员
【算法每日一练及解题思路】有n级台阶,一次只能上1级或2级,共有多少种走法?
本文深入解析了“爬楼梯问题”,探讨了递归与迭代两种解法,并提供了Java代码实现。通过分析问题本质,帮助读者理解动态规划技巧,提高解决实际编程问题的能力。关键词:Java, 算法, 动态规划, 爬楼梯问题, 递归, 迭代。
127 0

热门文章

最新文章