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

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

代码语言:javascript
复制
#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 &lt; numsSize; i++) {  
    if (nums[i] == 1) {  
        // 如果当前元素是1,增加当前连续1的个数  
        currentCount++;  
        // 更新最大连续1的个数  
        if (currentCount &gt; 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(&#34;The maximum number of consecutive 1s is: %d\n&#34;, maxConsecutiveOnes);  

return 0;  

}

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

代码语言:javascript
复制
#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 &lt; n; t++) {  
    int num;  
    printf(&#34;Enter a positive integer: &#34;);  
    scanf(&#34;%d&#34;, &amp;num);  

    if (sumOfDivisors(num) == num) {  
        printf(&#34;%d is a perfect number.\n&#34;, num);  
    } else {  
        printf(&#34;%d is not a perfect number.\n&#34;, num);  
    }  
}  

return 0;  

}