栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > C/C++/C#

九日集训 Day 2 循环

C/C++/C# 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

九日集训 Day 2 循环

0 前言

独学而无友,则孤陋而寡闻。希望能够多与大佬进行交流,不断学习,不断进步。

学习过程是互相交流的过程,希望能够得到大家的建议和反馈,从而写出更好的博客来与大家分享。

1 学习内容 循环结构

计算机程序有三大结构:顺序结构,选择结构以及循环结构。

其中,选择结构用if,循环结构用for,while实现。简单的结构能够解决的问题很多。

2 Leetcode 刷题 2.1 n数之和

相关题目  n数之和

class Solution {
public:
    int sumNums(int n) {
        int sum = 0;
        for(int i = 1; i < n + 1; ++i){
            sum += i;
        }
        return sum;
    }
};
2.2 判断n是否为k的幂

相关题目

n为2的幂

n为3的幂

n为4的幂

以上三道题目实际上是同一个类型,在for循环中遍历2,3,4的所有幂,判断其中是否存在与输入n相同的数即可解决。

class Solution {
public:
    bool isPowerOfTwo(int n) {
        unsigned int k = 1;
        if(n <= 0){
            return false;
        }
        if(n == 1){
            return true;
        }
        for(int i = 0; i < 31; ++i){
            k *= 2;
            if(k == n){
                return true;
            }
        }
        return false;

    }
};
2.3 找出n的第k个因子

相关题目  n 的第 k 个因子

这里采用全部遍历的方法,后续可以进行算法优化,如当 i > n /2 或者 i > sqrt(n) 时,其实就可以结束循环了。

class Solution {
public:
    int kthFactor(int n, int k) {
        int count = 0;
        for(int i = 1; i < n + 1; ++i){
            if(n % i == 0){
                count += 1;
                if(count == k){
                    return i;
                }
            }
        }
        return -1;
    }
};
2.4 完全平方数

相关题目 完全平方数

首先明确完全平方数的定义为 n == i * i,将其作为判断条件,当 p > n时,可以退出循环。

class Solution {
public:
    bool isPerfectSquare(int num) {
        long long p;
        for(int i =1; ; ++i){
            p = (long long)i*i;
            if (p == num){
                return true;
            }
            if (p > num){
                return false;
            }
        }
        return false;
    }
};

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/861666.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号