东方 - 循环(2) - 求和计数

目录

  • 解析部分:
    • 求和计数
      • 1002. 编程求解1+2+3+...+n
        • 问题描述
        • 解题思路
        • 代码实现
        • 代码解析
      • 1741. 求出1~n中满足条件的数的个数和总和
        • 问题描述
        • 解题思路
        • 代码实现
        • 代码解析
      • 1003. 编程求 \(1 + 3 + 5 + ... + n\)
        • 问题描述
        • 解题思路
        • 代码实现
        • 代码解析
      • 1004. 编程求1*2*3*...*n
        • 问题描述
        • 解题思路
        • 代码实现
        • 代码解析
      • 1014.编程求1+1/2+1/3+...+1/n
        • 问题描述
        • 解题思路
        • 代码实现
        • 代码解析
      • 1053. 求 \(100 + 97 + ... + 4 + 1\) 的值
        • 问题描述
        • 解题思路
        • 代码实现
        • 代码解析
      • 1054. 计算 \(1^2 + 2^2 + ... + n^2\)
        • 问题描述
        • 解题思路
        • 代码实现
        • 代码解析
      • 1055. 计算满足特定条件的整数个数
        • 问题描述
        • 解题思路
        • 代码实现
        • 代码解析
      • 1056. 统计不超过1000中含有数字3的自然数个数
        • 问题描述
        • 解题思路
        • 代码实现
        • 代码解析
      • 1057. 统计能被5整除且至少有一位是5的整数的个数
        • 问题描述
        • 解题思路
        • 代码实现
        • 代码解析
      • 1393. 与7无关的数
        • 问题描述
        • 解题思路
        • 代码实现
        • 代码解析
      • 1445. 找亲戚
        • 问题描述
        • 解题思路
        • 代码实现
        • 代码解析
      • 1449. 求满足条件的数的和
        • 问题描述
        • 解题思路
        • 代码实现
        • 代码解析
      • 1742. 三位回文数
        • 问题描述
        • 解题思路
        • 代码实现
        • 代码解析
      • 1743. 五位回文偶数
        • 问题描述
        • 解题思路
        • 代码实现
        • 代码解析
      • 1744. 纯粹的四位奇数
        • 问题描述
        • 解题思路
        • 代码实现
        • 代码解析
      • 1745. 纯粹的五位偶数
        • 问题描述
        • 解题思路
        • 代码实现
        • 代码解析
      • 1747. 连续递增或递减数
        • 问题描述
        • 解题思路
        • 代码实现
        • 代码解析
      • 1750. 有0的数
        • 问题描述
        • 解题思路
        • 代码实现
        • 代码解析
      • 1091. 奇数及偶数和
        • 问题描述
        • 解题思路
        • 代码实现
        • 代码解析
      • 1395. 小丽找数?
        • 问题描述
        • 解题思路
        • 代码实现
        • 代码解析

解析部分:

求和计数

1002. 编程求解1+2+3+…+n

问题描述

编程求解下列式子的值:
( S = 1 + 2 + 3 + … + n )

解题思路
  1. 接收一个整数 ( n ) 作为输入。
  2. 计算从 1 到 ( n ) 的自然数之和。
  3. 输出计算结果。
代码实现

示例代码如下:

#include <iostream>
using namespace std;int main() {int n;cin >> n;  // 从键盘读入整数n// 计算从1到n的和int sum = 0;for (int i = 1; i <= n; i++) {sum += i;}cout << sum << endl;  // 输出求和结果return 0;
}
代码解析
  • 程序开始时读取一个整数 ( n )。
  • 使用一个for循环来累加从 1 到 ( n ) 的整数。
  • 循环结束后,将累加的结果输出。

这样的方法可以确保高效计算1到( n )的自然数之和。

1741. 求出1~n中满足条件的数的个数和总和

问题描述

请求出 ( 1 ) 到 ( n ) 之间所有满足是 ( 2 ) 的倍数但不是 ( 3 ) 的倍数的数的个数和总和。

解题思路
  1. 遍历 ( 1 ) 到 ( n ) 的每个数。
  2. 判断每个数是否是 ( 2 ) 的倍数且不是 ( 3 ) 的倍数。
  3. 如果满足条件,则累加到总和中,并计数加一。
代码实现

示例代码如下:

#include <iostream>
using namespace std;int main() {int n;cin >> n;  // 从键盘读入整数nint count = 0;  // 满足条件的数的个数int sum = 0;    // 满足条件的数的总和for (int i = 1; i <= n; i++) {if (i % 2 == 0 && i % 3 != 0) {count++;sum += i;}}cout << count << endl;  // 输出满足条件的数的个数cout << sum << endl;    // 输出满足条件的数的总和return 0;
}
代码解析
  • 程序开始时读取一个整数 ( n )。
  • 使用一个for循环来遍历 ( 1 ) 到 ( n ) 的每个整数。
  • 在循环内判断每个数是否是 ( 2 ) 的倍数且不是 ( 3 ) 的倍数,如果是,则将这个数加到总和中,并计数加一。
  • 循环结束后,输出满足条件的数的个数和总和。

这样的方法可以确保准确地找出在 ( 1 ) 到 ( n ) 范围内,所有是 ( 2 ) 的倍数但不是 ( 3 ) 的倍数的数的个数和它们的总和。

1003. 编程求 (1 + 3 + 5 + … + n)

问题描述

编程求 (1 + 3 + 5 + … + n) 的和,其中 (n) 为输入的奇数。

解题思路
  1. 初始化总和为 (0)。
  2. 使用一个循环,从 (1) 开始,以 (2) 为步长增加,直到 (n)。
  3. 在每次循环中将当前值加到总和上。
  4. 循环结束后,输出总和。
代码实现
#include <iostream>
using namespace std;int main() {int n;cin >> n;  // 从键盘读入整数nint sum = 0;  // 初始化总和为0for (int i = 1; i <= n; i += 2) {sum += i;  // 将奇数加到总和上}cout << sum << endl;  // 输出总和return 0;
}
代码解析
  • 程序开始时读取一个整数 (n),保证输入的 (n) 为奇数。
  • 使用一个for循环来遍历 (1) 到 (n) 的每个奇数,步长为 (2)。
  • 在循环内将每个奇数加到总和 (sum) 中。
  • 循环结束后,输出总和。

这样的方法可以确保准确地计算从 (1) 到 (n) 的所有奇数之和。

1004. 编程求123*…*n

问题描述

需要编写一个程序来求123*…*n的乘积,其中 (n) 是用户输入的整数。

解题思路
  1. 初始化乘积为 (1)。
  2. 使用一个循环,从 (1) 到 (n)。
  3. 在每次循环中将当前值乘到总乘积上。
  4. 循环结束后,输出总乘积。
代码实现
#include <iostream>
using namespace std;int main() {int n;cin >> n;  // 从键盘读入整数nint product = 1;  // 初始化乘积为1for (int i = 1; i <= n; i++) {product *= i;  // 将当前数乘到乘积上}cout << product << endl;  // 输出乘积return 0;
}
代码解析
  • 程序开始时读取一个整数 (n)。
  • 使用一个for循环来遍历 (1) 到 (n) 的每个整数。
  • 在循环内将每个数乘到总乘积 product 上。
  • 循环结束后,输出总乘积。

这样的方法可以确保准确地计算 (1) 到 (n) 的所有整数乘积。

1014.编程求1+1/2+1/3+…+1/n

问题描述

需要编写一个程序来求编程求1+1/2+1/3+…+1/n的和,其中 (n) 是用户输入的整数。

解题思路
  1. 初始化总和为 (0)。
  2. 使用一个循环,从 (1) 到 (n)。
  3. 在每次循环中,将 (1/i) 加到总和上。
  4. 循环结束后,输出总和。
代码实现
#include <iostream>
#include <iomanip>  // 用于设置输出格式
using namespace std;int main() {int n;cin >> n;  // 从键盘读入整数ndouble sum = 0.0;  // 初始化总和为0for (int i = 1; i <= n; i++) {sum += 1.0 / i;  // 将当前的倒数加到总和上}cout << fixed << setprecision(3) << sum << endl;  // 输出总和,保留3位小数return 0;
}
代码解析
  • 程序开始时读取一个整数 (n)。
  • 使用一个for循环来遍历 (1) 到 (n) 的每个整数。
  • 在循环内将每个整数的倒数加到总和 sum 上。
  • 使用 <iomanip> 库的 setprecision(3) 来设置输出时保留三位小数。
  • 循环结束后,输出总和。

这样的方法可以确保准确地计算 (1 + \frac{1}{2} + \frac{1}{3} + \dots + \frac{1}{n}) 的和,并以保留三位小数的形式输出。

1053. 求 (100 + 97 + … + 4 + 1) 的值

问题描述

需要编写一个程序来求序列 (100 + 97 + … + 4 + 1) 的和,这是一个每项递减 3 的序列。

解题思路
  1. 初始化总和为 (0)。
  2. 从 (100) 开始循环,每次减去 (3),直到 (1)。
  3. 在循环中,将每个数加到总和上。
  4. 循环结束后,输出总和。
代码实现
#include <iostream>
using namespace std;int main() {int sum = 0;  // 初始化总和为0for (int i = 100; i >= 1; i -= 3) {sum += i;  // 将当前的数加到总和上}cout << sum << endl;  // 输出总和return 0;
}
代码解析
  • 程序使用一个for循环来遍历 (100) 到 (1) 之间每隔 (3) 的数(包括 (100) 和 (1))。
  • 在循环内将每个数加到总和 sum 上。
  • 循环结束后,输出总和。

这样的方法可以确保准确地计算 (100 + 97 + \dots + 4 + 1) 的和,并输出该和的值。

1054. 计算 (1^2 + 2^2 + … + n^2)

问题描述

需要编写一个程序来计算 (1^2 + 2^2 + … + n^2) 的值,其中 (n) 是输入给定的正整数。

解题思路
  1. 初始化总和为 (0)。
  2. 循环从 (1) 到 (n),包括 (n)。
  3. 在每次循环中,计算当前数字的平方并将其加到总和上。
  4. 循环结束后,输出总和。
代码实现
#include <iostream>
using namespace std;int main() {int n;cin >> n;  // 读入nint sum = 0;  // 初始化总和为0for (int i = 1; i <= n; i++) {sum += i * i;  // 将当前数字的平方加到总和上}cout << sum << endl;  // 输出总和return 0;
}
代码解析
  • 程序开始时读取输入的整数 (n)。
  • 通过一个 for 循环从 (1) 遍历到 (n)。
  • 在循环内,计算每个数的平方并累加到 sum 变量。
  • 循环完成后,输出累加的和 sum

这段代码将准确计算从 (1^2) 到 (n^2) 的和,并将结果输出。

1055. 计算满足特定条件的整数个数

问题描述

需要编写程序,从 (1) 到 (n) 中找出满足以下条件的整数数量:

  • 能够被 (3) 除余 (2)
  • 能够被 (5) 除余 (3)
  • 能够被 (7) 除余 (2)

如果没有满足条件的整数,则输出 (0)。

解题思路
  1. 从 (1) 到 (n) 遍历每个整数。
  2. 对于每个整数,检查是否满足上述三个条件。
  3. 如果满足,则计数器加一。
  4. 遍历结束后,输出计数器的值。
代码实现
#include <iostream>
using namespace std;int main() {int n;cin >> n;  // 读入nint count = 0;  // 初始化计数器为0for (int i = 1; i <= n; i++) {// 检查是否满足条件if (i % 3 == 2 && i % 5 == 3 && i % 7 == 2) {count++;  // 如果满足条件,则计数器加一}}cout << count << endl;  // 输出满足条件的整数个数return 0;
}
代码解析
  • 程序从标准输入读取上限 (n)。
  • 通过 for 循环,从 (1) 到 (n),遍历每个数字。
  • 在循环中,通过条件判断检查每个数字是否同时满足三个条件。
  • 满足条件时,计数器 count 增加。
  • 循环结束后,输出计数器 count 的值,即为满足条件的整数个数。

这段代码能够有效地计算出在给定范围内满足特定余数条件的整数数量。

1056. 统计不超过1000中含有数字3的自然数个数

问题描述

需要编写程序来找出所有不超过1000的自然数中含有数字3的数,并计算这些数的总数。

解题思路
  1. 从1遍历到1000,检查每个数是否含有数字3。
  2. 如果一个数含有数字3,计数器增加。
  3. 遍历结束后,输出计数器的值,即含有数字3的自然数的总数。
代码实现
#include <iostream>
using namespace std;int main() {int count = 0;  // 初始化计数器为0for (int i = 1; i <= 1000; i++) {int number = i;// 检查数字中是否含有3while (number > 0) {if (number % 10 == 3) {count++;  // 如果数字中含有3,计数器加一break;  // 找到3后即可停止检查当前数字}number /= 10;  // 去除最后一位,继续检查下一位}}cout << count << endl;  // 输出含有数字3的自然数的总数return 0;
}
代码解析
  • 程序通过 for 循环遍历从1到1000的每个数。
  • 对于每个数,通过一个 while 循环检查它是否含有数字3。
  • 如果发现含有数字3,计数器 count 增加,并跳出当前数字的检查。
  • 遍历结束后,输出 count 的值,表示含有数字3的自然数的总数。

这段代码能有效地统计出不超过1000的所有自然数中含有数字3的数的总数。

1057. 统计能被5整除且至少有一位是5的整数的个数

问题描述

需要找出1到N之间所有能被5整除且至少有一个数字是5的整数的个数。

解题思路
  1. 遍历从1到N的每个数。
  2. 检查每个数是否满足两个条件:能被5整除,且至少有一个数字是5。
  3. 如果满足条件,计数器增加。
  4. 遍历结束后,输出计数器的值,即满足条件的整数个数。
代码实现
#include <iostream>
using namespace std;int main() {int N, count = 0;cin >> N;  // 从键盘读入N的值for (int i = 1; i <= N; i++) {if (i % 5 != 0) continue;  // 如果数不能被5整除,则跳过int number = i;bool hasFive = false;  // 标记是否含有数字5// 检查数字中是否含有5while (number > 0) {if (number % 10 == 5) {hasFive = true;break;}number /= 10;}if (hasFive) count++;  // 如果含有数字5,计数器增加}cout << count << endl;  // 输出满足条件的整数个数return 0;
}
代码解析
  • 程序通过 for 循环遍历从1到N的每个数。
  • 首先检查该数是否能被5整除,如果不能则跳过。
  • 如果能被5整除,则进一步检查该数的每一位数字是否含有5。
  • 如果发现含有数字5,计数器 count 增加。
  • 遍历结束后,输出 count 的值,表示能被5整除且至少有一位是5的整数的个数。

通过这段代码能有效地统计出指定范围内符合条件的整数个数。

1393. 与7无关的数

问题描述

需要找出从1到n(n≤999)中与7无关的数的总和。与7无关的数是指不能被7整除且不含数字7的数。

解题思路
  1. 遍历从1到n的每个数。
  2. 对每个数检查是否与7有关:
    • 判断该数是否能被7整除。
    • 判断该数的任意一位是否为7。
  3. 如果这个数与7无关,则累加到总和中。
  4. 遍历完成后,输出与7无关的数的总和。
代码实现
#include <iostream>
using namespace std;bool isRelatedToSeven(int number) {// 判断数字是否能被7整除或含有数字7if (number % 7 == 0) return true;while (number > 0) {if (number % 10 == 7) return true;number /= 10;}return false;
}int main() {int n, sum = 0;cin >> n;  // 从键盘读入n的值for (int i = 1; i <= n; i++) {if (!isRelatedToSeven(i)) {sum += i;  // 累加与7无关的数}}cout << sum << endl;  // 输出与7无关的数的总和return 0;
}
代码解析
  • isRelatedToSeven 函数用于判断一个数是否与7有关。如果数能被7整除或含有数字7,则返回true,否则返回false。
  • 主函数中,通过for循环遍历从1到n的每个数,并使用isRelatedToSeven函数判断是否与7有关。
  • 如果数与7无关,则将其累加到总和sum中。
  • 最后输出与7无关的数的总和。

1445. 找亲戚

问题描述

给定一个一位数( x ),找出在区间( [m, n] )内有多少个数的各个位中含有与( x )相同的数。

解题思路
  1. 从( m )到( n )遍历每一个整数。
  2. 检查每个数的各个位上是否包含数字( x )。
  3. 如果包含,则计数加1。
  4. 遍历完成后,输出计数值。
代码实现
#include <iostream>
using namespace std;int main() {int x, m, n, count = 0;cin >> x >> m >> n;  // 读入x,m,nfor (int i = m; i <= n; i++) {int number = i;// 检查每个数字的每一位while (number > 0) {int digit = number % 10;if (digit == x) {count++;  // 如果找到相同的数字,计数增加break;  // 找到后即停止当前数的检查}number /= 10;}}cout << count << endl;  // 输出计数值return 0;
}
代码解析
  • 这段代码通过一个循环从( m )到( n )遍历每一个数。
  • 在循环内部,通过不断取模和整除操作来检查每个数的各个位上的数字。
  • 如果在某个位上找到了与( x )相同的数字,则计数加1,同时跳出循环,避免对同一个数的重复计数。
  • 最后,输出在指定范围内找到的与( x )有相同位数字的数的总数。

1449. 求满足条件的数的和

问题描述

求出( 1 )至( n )之间能同时被( 2 )、( 3 )、( 5 )、( 7 )中两个及两个以上的数整除的数的总和。

解题思路
  1. 遍历从( 1 )到( n )的所有整数。
  2. 对每个整数,检查它是否能被( 2 )、( 3 )、( 5 )、( 7 )整除。
  3. 如果一个整数能被以上提到的至少两个数整除,则累加到总和中。
  4. 遍历完成后,输出总和。
代码实现
#include <iostream>
using namespace std;int main() {int n, sum = 0;cin >> n;  // 读入n// 遍历1到n的每个数for (int i = 1; i <= n; i++) {int count = 0;  // 计数器,用于计算能整除的个数// 检查能否被2、3、5、7整除if (i % 2 == 0) count++;if (i % 3 == 0) count++;if (i % 5 == 0) count++;if (i % 7 == 0) count++;// 如果能被2个及以上的数整除,则加到总和中if (count >= 2) sum += i;}cout << sum << endl;  // 输出总和return 0;
}
代码解析
  • 代码通过一个循环从( 1 )到( n )遍历每个数。
  • 对于每个数,使用一个计数器来统计它能被多少个指定的数整除。
  • 如果计数器的值大于或等于( 2 ),表示这个数满足条件,将其加到总和中。
  • 最后,输出满足条件的所有数的总和。

1742. 三位回文数

问题描述

在指定的范围内(( m )到( n )),找出所有三位的回文数,并计算总共有多少个。

解题思路
  1. 遍历从( m )到( n )的所有三位数。
  2. 对每个数,检查它是否是回文数。回文数是指正读和倒读都相同的数。
  3. 如果是回文数,则打印这个数,并计数。
代码实现
#include <iostream>
using namespace std;int main() {int m, n, count = 0;cin >> m >> n;  // 读入m和n// 遍历m到n的每个数for (int i = m; i <= n; i++) {int hundred = i / 100;  // 百位数int unit = i % 10;      // 个位数// 检查是否是回文数if (hundred == unit) {cout << i << endl;  // 输出回文数count++;            // 计数}}cout << count << endl;  // 输出回文数的个数return 0;
}
代码解析
  • 程序遍历( m )到( n )范围内的每个数。
  • 对于每个数,通过整数除法和取余操作得到百位数和个位数。
  • 如果百位数和个位数相等,那么这个数是一个三位的回文数,打印这个数并更新计数器。
  • 遍历完成后,输出回文数的总数。

1743. 五位回文偶数

问题描述

需要找出在给定范围内(( m )到( n )),所有的五位回文偶数的个数及它们的总和。

解题思路
  1. 遍历从( m )到( n )的所有五位数。
  2. 对每个数,检查它是否是回文数,并且是偶数。
  3. 如果是回文偶数,则计数并累加其值。
代码实现
#include <iostream>
using namespace std;int main() {int m, n, count = 0, sum = 0;cin >> m >> n;  // 读入m和n// 遍历m到n的每个数for (int i = m; i <= n; i++) {if (i % 2 != 0) continue;  // 偶数检查// 将数转换为字符串,以便进行回文检查string num = to_string(i);// 检查是否是回文数if (num[0] == num[4] && num[1] == num[3]) {count++;  // 计数sum += i; // 累加}}// 输出回文偶数的个数和总和cout << count << endl;cout << sum << endl;return 0;
}
代码解析
  • 通过遍历,检查每个数是否满足为偶数且是回文数的条件。
  • 回文数检查通过比较数的首尾数字实现。
  • 若数满足条件,则对回文偶数进行计数,并累加它们的和。
  • 遍历完成后,输出满足条件的回文偶数的总个数和它们的总和。

1744. 纯粹的四位奇数

问题描述

要计算从1000到( n )之间所有四位纯粹奇数的和。

解题思路
  • 遍历从1000到( n )的所有数。
  • 检查每个数的每一位是否都是奇数。
  • 如果是纯粹奇数,则累加其值。
代码实现
#include <iostream>
using namespace std;int main() {int n, sum = 0;cin >> n;  // 读入n// 遍历1000到n的每个数for (int i = 1000; i <= n; i++) {// 将数转换为字符串,以便逐位检查string num = to_string(i);// 检查是否所有位都是奇数bool isPureOdd = true;for (char digit : num) {if ((digit - '0') % 2 == 0) {isPureOdd = false;break;}}// 如果是纯粹奇数,累加if (isPureOdd) sum += i;}// 输出四位纯粹奇数的总和cout << sum << endl;return 0;
}
代码解析
  • 从1000开始遍历,因为这是四位数的起始。
  • to_string()将每个整数转换为字符串,这样就可以逐位检查数字是否为奇数。
  • 如果所有位都是奇数,则将该数加到总和sum中。
  • 最终,输出所有纯粹奇数的总和。

1745. 纯粹的五位偶数

问题描述

要找出从10000到( n )之间所有五位纯粹偶数的个数。

解题思路
  • 遍历从10000到( n )的所有数。
  • 检查每个数的每一位是否都是偶数。
  • 如果是纯粹偶数,则计数器加一。
代码实现
#include <iostream>
using namespace std;int main() {int n, count = 0;cin >> n;  // 读入n// 遍历10000到n的每个数for (int i = 10000; i <= n; i++) {// 将数转换为字符串,以便逐位检查string num = to_string(i);// 检查是否所有位都是偶数bool isPureEven = true;for (char digit : num) {if ((digit - '0') % 2 != 0) {isPureEven = false;break;}}// 如果是纯粹偶数,计数器加一if (isPureEven) count++;}// 输出五位纯粹偶数的总数cout << count << endl;return 0;
}
代码解析
  • 从10000开始遍历,因为这是五位数的起始。
  • to_string()将每个整数转换为字符串,这样就可以逐位检查数字是否为偶数。
  • 如果所有位都是偶数,则计数器count加一。
  • 最终,输出所有纯粹偶数的个数。

1747. 连续递增或递减数

问题描述

找出在100到( n )之间所有连续递增或递减的三位数,并计算这些数的总和和数量。

解题思路
  • 遍历从100到( n )的所有三位数。
  • 对每个数,检查它的数字是否连续递增或递减。
  • 记录满足条件的数的总和和数量。
代码实现
#include <iostream>
using namespace std;int main() {int n, sum = 0, count = 0;cin >> n; // 读入n// 遍历100到n的每个数for (int i = 100; i <= n; i++) {int hundred = i / 100;            // 百位int ten = (i / 10) % 10;          // 十位int one = i % 10;                 // 个位// 判断是否为连续递增或递减if ((hundred < ten && ten < one) || (hundred > ten && ten > one)) {sum += i; // 累加符合条件的数count++;  // 计数符合条件的数}}// 输出总和和数量cout << sum << endl << count << endl;return 0;
}
代码解析
  • 使用三个变量(hundred, ten, one)来存储数的百位、十位和个位。
  • 通过逻辑判断,检查这个数是否是连续递增或递减。
  • 如果条件满足,则累加到总和sum中,并将计数器count增加1。
  • 最后输出符合条件的数的总和和个数。

1750. 有0的数

问题描述

请求出1∼n中含有数字 0 的数,有多少个?

解题思路
  • 遍历从1到 ( n ) 的每个数。
  • 对每个数,检查它的各个位上是否包含数字 0。
  • 记录含有数字 0 的数的数量。
代码实现
#include <iostream>
using namespace std;int countNumbersWithZero(int n) {int count = 0;// 遍历1到n的每个数for (int i = 1; i <= n; ++i) {int num = i;// 检查每一位是否包含数字0while (num > 0) {if (num % 10 == 0) {++count; // 含有数字0,计数器加1break;}num /= 10; // 检查下一位}}return count;
}int main() {int n;cin >> n; // 读入n// 调用函数计算含有数字0的数的个数int result = countNumbersWithZero(n);// 输出结果cout << result << endl;return 0;
}
代码解析
  • 使用一个循环遍历从1到n的每个数。
  • 对于每个数,使用一个内部循环来检查它的每一位是否包含数字0。
  • 如果某位包含数字0,则将计数器加1。
  • 最后输出含有数字0的数的数量。

1091. 奇数及偶数和

问题描述

给出一个正整数n(1≤n≤1000 ),求出1,2,…n 中全部奇数和以及全部偶数的和。

解题思路
  • 初始化奇数和与偶数和为0。
  • 遍历从1到 ( n ) 的每个数。
  • 如果当前数是奇数,则将其加到奇数和中;如果当前数是偶数,则将其加到偶数和中。
代码实现
#include <iostream>
using namespace std;int main() {int n;cin >> n; // 读入nint oddSum = 0, evenSum = 0;// 遍历1到n的每个数for (int i = 1; i <= n; ++i) {if (i % 2 == 0)evenSum += i; // 偶数,加到偶数和中elseoddSum += i; // 奇数,加到奇数和中}// 输出结果cout << oddSum << " " << evenSum << endl;return 0;
}
代码解析
  • 使用两个变量 oddSumevenSum 分别记录奇数和偶数的和,初始化为0。
  • 遍历从1到n的每个数,如果是奇数,则加到 oddSum 中,如果是偶数,则加到 evenSum 中。
  • 最后输出奇数和与偶数和,中间用一个空格隔开。

1395. 小丽找数?

问题描述

小丽同学想在1∼n中找出这样的数,这个数的各个位的和不能被2整除也不能被5整除,比如 3、12、25、30、100。这些数都满足各个位的和不能被2和5整除。请你编程找出1∼n中这些数有多少个?

解题思路
  • 遍历从1到 (n) 的每个数。
  • 对每个数,计算其各个位的和。
  • 判断这个和是否既不能被2整除也不能被5整除。
  • 统计满足条件的数的个数。
代码实现
#include <iostream>
using namespace std;int digitSum(int num) {int sum = 0;while (num > 0) {sum += num % 10; // 求个位数并加到总和中num /= 10; // 去掉个位数}return sum;
}int main() {int n;cin >> n; // 读入nint count = 0;// 遍历1到n的每个数for (int i = 1; i <= n; ++i) {int sum = digitSum(i); // 计算各个位的和if (sum % 2 != 0 && sum % 5 != 0) // 判断和是否既不能被2整除也不能被5整除++count; // 满足条件的数,计数加1}// 输出结果cout << count << endl;return 0;
}
代码解析
  • 定义一个函数 digitSum 用来计算一个数的各个位的和。
  • 使用一个循环遍历从1到n的每个数。
  • 对于每个数,调用 digitSum 函数计算其各个位的和,并判断这个和是否既不能被2整除也不能被5整除。
  • 统计满足条件的数的个数并输出结果。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/790087.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

C语言:文件操作(一)

目录 前言 1、为什么使用文件 2、什么是文件 2.1 程序文件 2.2 数据文件 2.3 文件名 3、文件的打开和关闭 3.1 文件指针 3.2 文件的打开和关闭 结&#xff08;一&#xff09; 前言 本篇文章将介绍C语言的文件操作&#xff0c;在后面的内容讲到&#xff1a;为什么使用文…

《Effective C++》《构造/析构/赋值运算——9、绝不在构造和析构过程中调用virtual函数》

文章目录 1、Terms 9:Never call virtual functions during construction or destruction1.1为什么不要在构造、析构函数中调用 virtual 函数1.1.1经典错误1.1.2 隐藏错误 1.2优化做法&#xff1a; 2、面试相关3、总结4、参考 1、Terms 9:Never call virtual functions during …

网络编程的学习2

UDP通信协议 发送数据 package UDPDEmo;import java.io.IOException; import java.net.*; import java.nio.charset.StandardCharsets;public class SendMessageDemo {public static void main(String[] args) throws IOException {//发送数据//1.创建对象//细节&#xff1a;…

PCL点云库出现错误:..\dist.h(523): error C3861: “pop_t”: 找不到标识符

工程代码&#xff1a;简单地测试了k-d树的最近邻搜索功能 #include<pcl/point_cloud.h> #include<pcl/kdtree/kdtree_flann.h>#include<iostream> #include<vector> #include<ctime>using namespace std;int main(int argc, char** argv) {//使…

回溯算法|78.子集

力扣题目链接 class Solution { private:vector<vector<int>> result;vector<int> path;void backtracking(vector<int>& nums, int startIndex) {result.push_back(path); // 收集子集&#xff0c;要放在终止添加的上面&#xff0c;否则会漏掉自…

Pygame基础8-碰撞

Collisions 在Pygame中&#xff0c;我们使用矩形来移动物体&#xff0c;并且用矩形检测碰撞。 colliderect检测两个矩形是否碰撞&#xff0c;但是没法确定碰撞的方向。 Rect1.colliderect(Rect2) # collision -> return Ture # else -> return Falsecollidepoint可以…

Spring拓展点之SmartLifecycle如何感知容器启动和关闭

Spring为我们提供了拓展点感知容器的启动与关闭&#xff0c;从而使我们可以在容器启动或者关闭之时进行定制的操作。Spring提供了Lifecycle上层接口&#xff0c;这个接口只有两个方法start和stop两个方法&#xff0c;但是这个接口并不是直接提供给开发者做拓展点&#xff0c;而…

如何理解 Java 中的成员变量、字段和属性

在Java编程中&#xff0c;成员变量、字段和属性是关键概念&#xff0c;用于存储对象状态信息的变量。虽然它们经常被用作同义词&#xff0c;但在实际应用中&#xff0c;它们有着微妙的区别。 1. 成员变量&#xff08;Member Variable&#xff09; 成员变量是类中声明的任何变…

AI音乐GPT时刻来临:Suno 快速入门手册!

✨✨ 欢迎大家来访Srlua的博文&#xff08;づ&#xffe3;3&#xffe3;&#xff09;づ╭❤&#xff5e;✨✨ &#x1f31f;&#x1f31f; 欢迎各位亲爱的读者&#xff0c;感谢你们抽出宝贵的时间来阅读我的文章。 我是Srlua小谢&#xff0c;在这里我会分享我的知识和经验。&am…

代码块的理解

如果成员变量想要初始化的值不是一个硬编码的常量值&#xff0c;而是需要通过复杂的计算或读取文件、或读取运行环境信息等方式才能获取的一些值&#xff0c;该怎么办呢&#xff1f;此时&#xff0c;可以考虑代码块&#xff08;或初始化块&#xff09;。 代码块(或初始化块)的作…

前端作业之完成学校官方网页的制作

&#xff08;未使用框架&#xff0c;纯html和css制作&#xff09; 注&#xff1a;由本人技术限制&#xff0c;代码复用性极差 代码 <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><title>xxx大学</tit…

SpringBoot接收参数的方式

Get 请求 1.1 以方法的形参接收参数 1.这种方式一般适用参数比较少的情况 RestController RequestMapping("/user") Slf4j public class UserController {GetMapping("/detail")public Result<User> getUserDetail(String name,String phone) {log.…

zip解压异常java.lang.IllegalArgumentException: MALFORMED处理

使用hutool解压zip包时出错&#xff1a; //压缩包解压到固定目录 ZipUtil.unzip(tempZipFile,dir);在解压文件的时候报错&#xff0c;原因是压缩文件中有中文&#xff1b;导致错误&#xff0c;解决办法是设置编码&#xff1a; ZipFile tempZipFile new ZipFile(zipFile, Cha…

【Linux】详解动静态库的制作和使用动静态库在系统中的配置步骤

一、库的作用 1、提高开发效率&#xff0c;让开发者所有的函数实现不用从零开始。 2、隐藏源代码。 库其实就是所有的.o文件用特定的方式进行打包形成一个文件&#xff0c;各个.o文件包含了源代码中的机器语言指令。 二、动态库和静态库的制作和使用 2.1、静态库的制作和使用…

如何监控特权帐户,保护敏感数据

IT基础设施的增长导致员工可以访问的凭据和资源数量急剧增加。每个组织都存储关键信息&#xff0c;这些信息构成了做出关键业务决策的基石。与特权用户共享这些数据可以授予他们访问普通员工没有的凭据的权限。如果特权帐户凭证落入不法分子之手&#xff0c;它们可能被滥用&…

使用WebRTC实现简单直播

WebRTC 是一个强大的实时通信技术&#xff0c;它允许用户直接在网页浏览器之间进行音视频通话和数据共享&#xff0c;无需任何外部插件。结合 WebSocket&#xff0c;我们可以构建一个简单的直播系统&#xff0c;让用户能够发布自己的实时视频流&#xff0c;同时允许其他用户观看…

请描述一下Velocity模板中的循环结构是如何工作的。Velocity有哪些内置的函数和方法?能否举例说明它们的使用场景?

请描述一下Velocity模板中的循环结构是如何工作的。 Velocity是一个基于Java的模板引擎&#xff0c;它允许开发人员使用简单的模板语言来引用由Java代码定义的对象&#xff0c;并在生成的文本中呈现这些对象。在Velocity模板中&#xff0c;循环结构用于遍历集合或数组&#xff…

【重学C语言】三、C语言最简单的程序

【重学C语言】三、C语言最简单的程序 最简单的程序头文件使用尖括号 < >使用双引号 ""区别与注意事项示例 主函数认识三个错误 常量和变量常量ASCII 码表转义字符 关键字数据类型关键字存储类关键字修饰符关键字控制流程关键字函数相关关键字其他关键字 变量变…

Python中批量修改文件名,去除某些内容

环境&#xff1a;Window10 Python3.9 PyCharm(2023.1.3) -------------------------------------****************** ** *********************----------------------------------------- 这是在Python中批量将指定文件夹下相似的文件名&#xff0c;提取文件名有效信息&am…

llama.cpp运行qwen0.5B

编译llama.cp 参考 下载模型 05b模型下载 转化模型 创建虚拟环境 conda create --prefixD:\miniconda3\envs\llamacpp python3.10 conda activate D:\miniconda3\envs\llamacpp安装所需要的包 cd G:\Cpp\llama.cpp-master pip install -r requirements.txt python conver…