每日一题(最大连续1的个数,完全数计算)

简介: 每日一题(最大连续1的个数,完全数计算)

485. 最大连续 1 的个数 - 力扣(LeetCode)

#include <stdio.h>  
  
int findMaxConsecutiveOnes(int* nums, int numsSize) {  
    if (numsSize == 0) return 0; // 如果数组为空,返回0  
  
    int maxCount = 0;  // 最大连续1的个数  
    int currentCount = 0;  // 当前连续1的个数  
  
    for (int i = 0; i < numsSize; i++) {  
        if (nums[i] == 1) {  
            // 如果当前元素是1,增加当前连续1的个数  
            currentCount++;  
            // 更新最大连续1的个数  
            if (currentCount > maxCount) {  
                maxCount = currentCount;  
            }  
        } else {  
            // 如果当前元素是0,重置当前连续1的个数  
            currentCount = 0;  
        }  
    }  
  
    return maxCount;  
}  
  
int main() {  
    int nums[] = {1, 1, 0, 1, 1, 1};  // 示例二进制数组  
    int numsSize = sizeof(nums) / sizeof(nums[0]);  // 计算数组的大小  
  
    int maxConsecutiveOnes = findMaxConsecutiveOnes(nums, numsSize);  
    printf("The maximum number of consecutive 1s is: %d\n", maxConsecutiveOnes);  
  
    return 0;  
}

 

完全数计算_牛客题霸_牛客网 (nowcoder.com)

#include <stdio.h>  
  
// 函数用于计算一个数的所有真因子之和  
int sumOfDivisors(int num) {  
    int sum = 0;  
    for (int i = 1; i < num; i++) {  
        if (num % i == 0) {  
            sum += i;  
        }  
    }  
    return sum;  
}  
  
int main() {  
    int n;  
    printf("Enter the number of test cases: ");  
    scanf("%d", &n);  
  
    for (int t = 0; t < n; t++) {  
        int num;  
        printf("Enter a positive integer: ");  
        scanf("%d", &num);  
  
        if (sumOfDivisors(num) == num) {  
            printf("%d is a perfect number.\n", num);  
        } else {  
            printf("%d is not a perfect number.\n", num);  
        }  
    }  
  
    return 0;  
}
相关文章
|
6月前
|
算法 测试技术
LeetCode-1004. 最大连续1的个数 III
LeetCode-1004. 最大连续1的个数 III
|
6月前
leetcode-485:最大连续1的个数
leetcode-485:最大连续1的个数
47 0
|
6月前
|
算法
求连续整数的阶层的和,时间复杂程度为O(n)的解法
求连续整数的阶层的和,时间复杂程度为O(n)的解法
|
6月前
|
算法 测试技术 C++
【数论】【分类讨论】【C++算法】1611使整数变为 0 的最少操作次数
【数论】【分类讨论】【C++算法】1611使整数变为 0 的最少操作次数
|
6月前
|
算法 测试技术 C++
【数位dp】【C++算法】600. 不含连续1的非负整数
【数位dp】【C++算法】600. 不含连续1的非负整数
|
6月前
|
C++ Java Go
C/C++每日一练(20230409) 岛屿数量、出现次数最多整数、两数相除
C/C++每日一练(20230409) 岛屿数量、出现次数最多整数、两数相除
49 0
C/C++每日一练(20230409) 岛屿数量、出现次数最多整数、两数相除
|
6月前
|
机器学习/深度学习 存储 算法
数据结构与算法面试题:给定非负整数 m 和 n,计算不大于 m 的数字中,素数的个数。(提示:算法原理为埃氏筛、线性筛)
数据结构与算法面试题:给定非负整数 m 和 n,计算不大于 m 的数字中,素数的个数。(提示:算法原理为埃氏筛、线性筛)
88 0
Leetcode——485. 最大连续 1 的个数
文章目录 1、题目 2、滑动窗口 3、一次遍历(官方题解)
Leetcode——485. 最大连续 1 的个数
|
算法 C++ Python
每日算法系列【LeetCode 357】计算各个位数不同的数字个数
每日算法系列【LeetCode 357】计算各个位数不同的数字个数
|
算法 C++ Python
每日算法系列【LeetCode 829】连续整数求和
每日算法系列【LeetCode 829】连续整数求和
114 0