一个正整数,如果它能被7整除,或者它的某一位上的数字为7,则称它为“与7相关”的数。现在,请变成求出所有小于等于n的“与7无关的数”的正整数个数。 输入 一行一个正整数n,n<=10^6 输出 一行一个整数,表示答案(c++)
```cpp #include <iostream> // 检查一个数是否与7相关 bool isRelatedTo7(int num) { if (num % 7 == 0) return true; while (num > 0) { if (num % 10 == 7) return true; num /= 10; } return false; } int main() { int n; std::cin >> n; int count = 0; for (int i = 1; i <= n; i++) { if (!isRelatedTo7(i)) count++; } std::cout << count << std::endl; return 0; } ``` 代码解释 1. 函数 `isRelatedTo7`:用于判断一个数是否与7相关。首先检查该数是否能被7整除,如果能则返回 `true`。接着,通过循环逐位检查该数的每一位是否为7,如果有一位是7也返回 `true`,若都不满足则返回 `false`。 2. 主函数 `main`: - 读取用户输入的整数 `n`。 - 初始化计数器 `count` 为0。 - 使用 `for` 循环遍历从1到 `n` 的所有正整数,对于每个数调用 `isRelatedTo7` 函数判断是否与7无关,若无关则将计数器 `count` 加1。 - 最后输出计数器 `count` 的值,即小于等于 `n` 的“与7无关的数”的正整数个数。 [2026-02-05 21:23:18 | AI问答 | 367点数解答]
- [DeepSeek] 有n个灯( 1 ≤ 𝑛 ≤ 10 9 ),编号为1,2,……n,同时有n个人,依次对灯进行操作。 开始时,所有灯是关闭状态。 第1人操作:将所有灯打开 第2人操作:将2及2的倍数的灯,状态取反,即开状态变为关状态,其状态变为开状态。 第3人操作:将3及3倍数的灯状态取反。 …… 第i人操作:将i及i的倍数的灯状态取反(1≤i≤n),当所有操作完成之后,计算出所有开状态灯的编号之和。 例如:n=6, 0—关状态,1—开状态 开始 0 0 0 0 0 0 第1人操作之后:变成 1 1 1 1 1 1 第2人操作之后:变成 1 0 1 0 1 0 第3人操作之后:变成 1 0 0 0 1 1 第4人操作之后:变成 1 0 0 1 1 1 第5人操作之后:变成 1 0 0 1 0 1 第6人操作之后:变成 1 0 0 1 0 0 所有开状态灯编号之和为 1+4=5 输入 一个整数 𝑛 输出 一个整数,即操作后所有开状态的灯编号之和。 样例输入 复制 6 样例输出 复制 5 来源/分类 数论 筛法(271点数解答 | 2026-01-18 12:41:43)53
- [字节豆包] 用C++给定一个整数 N N,判断其正负。如果 N > 0 N>0,输出 p o s i t i v e positive; 如果 N = 0 N=0,输出 z e r o zero; 如果 N < 0 N<0,输出 n e g a t i v e negative。 输入 一个整数 N ( − 10 9 ≤ N ≤ 10 9 ) N(−10 9 ≤N≤10 9 )。 输出 如果 N > 0 N>0, 输出 p o s i t i v e positive; 如果 N = 0 N=0, 输出 z e r o zero; 如果 N < 0 N<0, 输出 n e g a t i v e negative。 回答篇幅:越详细越好(610点数解答 | 2026-01-24 22:28:14)36
- [字节豆包] 用C++给定一个整数 N N,判断其正负。如果 N > 0 N>0,输出 p o s i t i v e positive; 如果 N = 0 N=0,输出 z e r o zero; 如果 N < 0 N<0,输出 n e g a t i v e negative。 输入 一个整数 N ( − 10 9 ≤ N ≤ 10 9 ) N(−10 9 ≤N≤10 9 )。 输出 如果 N > 0 N>0, 输出 p o s i t i v e positive; 如果 N = 0 N=0, 输出 z e r o zero; 如果 N < 0 N<0, 输出 n e g a t i v e negative。(150点数解答 | 2026-01-24 22:29:16)39
- [字节豆包] 题目描述 在甜甜圈王国中,每颗甜甜圈都有一个甜度值 S 来衡量其甜蜜程度。根据甜度的不同,甜甜圈被评定为不同的等级,具体规则如下: 如果 S 在 0 到 25 之间(包含 0 和 25 ),输出 "普通甜甜圈"; 如果 S 在 26 到 50 之间(包含 26 和 50 ),输出 "美味甜甜圈"; 如果 S 在 51 到 75 之间(包含 51 和 75 ),输出 "极品甜甜圈"; 如果 S 在 76 到 99 之间(包含 76 和 99 ),输出 "绝世甜甜圈"; 如果 S 等于 100 ,输出 "传说甜甜圈"。 请根据给定的甜度值 S,输出对应的甜甜圈等级名称。 输入格式 一行一个整数 S,表示甜甜圈的甜度值。(243点数解答 | 2025-12-06 18:35:50)60
- [字节豆包] 题目描述 输入三个整数 x , y , z x,y,z, 如果 x x为奇数,输出 1 ∼ y 1∼y之间的所有数,如果 x x为偶数,输出 1 ∼ z 1∼z之间的所有数。 输入格式 输入包括一行,包含三个整数 x , y , z x,y,z,数字之间用空格隔开。 输出格式 输出包括一行 如果 x x为奇数,输出 1 ∼ y 1∼y之间的所有数,如果 x x为偶数,输出 1 ∼ z 1∼z之间的所有数,输出时,数与数之间用1个空格隔开。 input1 复制 1 10 5 output1 复制 1 2 3 4 5 6 7 8 9 10 input2 复制 4 20 4 output2 复制 1 2 3 4 样例解释 对于样例 1 1: x x是奇数, y = 10 y=10,因此输出 1 ∼ 10 1∼10。 对于样例 2 2: x x是偶数, z = 10 z=10,因此输出 1 ∼ 4 1∼4 。 c++ (391点数解答 | 2025-06-14 09:57:45)309
- [字节豆包] 用python写出来 给定一个整数 N N ,判断其正负。如果 N > 0 N>0 ,输出positive;如果 N = 0 N=0 ,输出zero;如果 N < 0 N<0 ,输出negative。 输入格式 一个整数 N N( − 10 9 ≤ N ≤ 10 9 −10 9 ≤N≤10 9 )。 输出格式 如果 N > 0 N>0, 输出positive; 如果 N = 0 N=0, 输出zero; 如果 N < 0 N<0, 输出negative。(45点数解答 | 2026-01-29 17:03:54)15
- [DeepSeek] 们可以用这样的方式来表示一个十进制数: 将每个阿拉伯数字乘以一个以该数字所处位置为指数,以 为底数的幂之和的形式。例如 可表示为 这样的形式。 与之相似的,对二进制数来说,也可表示成每个二进制数码乘以一个以该数字所处位置为指数,以 为底数的幂之和的形式。 一般说来,任何一个正整数 或一个负整数 都可以被选来作为一个数制系统的基数。如果是以 或 为基数,则需要用到的数码为 。 例如当 时,所需用到的数码是 ,这与其是 或 无关。如果作为基数的数绝对值超过 ,则为了表示这些数码,通常使用英文字母来表示那些大于 的数码。例如对 进制数来说,用 表示 ,用 表示 ,用 表示 ,以此类推。 在负进制数中是用 作为基数,例如 (十进制)相当于 ( 进制),并且它可以被表示为 的幂级数的和数: 设计一个程序,读入一个十进制数和一个负进制数的基数, 并将此十进制数转换为此负进制下的数。 输入 输入的每行有两个输入数据。 第一个是十进制数 。 第二个是负进制数的基数 。 输出 输出此负进(490点数解答 | 2026-01-20 17:31:14)20
- [字节豆包] 题目描述 假设现在是 y 年 m 月 d 日 h 时而 k 小时后是 y′ 年 m′ 月 d′ 日 h′ 时,对于给定的 y,m,d,h,k,小杨想请你帮他计算出对应的 y′,m′,d′,h′ 是多少。 输入格式 输入包含五行,每行一个正整数,分别代表 y,m,d,h,k。 输出格式 输出四个正整数,代表 y ′,m ′,d ′,h ′。 输入样例1 2008 2 28 23 1 输出样例1 2008 2 29 0 说明/提示 对于全部数据,保证有 2000≤y≤3000,1≤m≤12,1≤d≤31,0≤h≤23,1≤k≤24。数据保证为合法时间。 闰年判断规则 普通闰年:年份能被 4 整除,但不能被 100 整除。 世纪闰年:年份能被 400 整除。 满足以上任意一条规则的年份就是闰年,否则是平年。 用c++ 回答篇幅:简单明了(323点数解答 | 2025-10-29 20:27:44)85
- [阿里通义] 一个 5×6 的迷宫样例如下: 要求给出从起点(1,1)到终点(3,4)的路径。 为了处理方便,保证最外圈全都为障碍物。 扩展到一般情况,一个 m×n 的迷宫,要求输出从起点(1,1)到终点(m-2,n-2)的路径。 测试实例保证路径是唯一的。 该题要求自行设计一个栈来做。如果设计的是顺序栈,则保证栈的大小不超过 200 个元素。 输入 第一行为两个整数 m 和 n,表示 m×n 的迷宫。 接下来有 m 行,每行有 n 个数(n 个数之间用空格间隔,值 = 0 表示可以通行,值 = 1 表示为障碍物) 输出 输出从起点到终点的路径,每个坐标占一行,坐标间的行号和列号用一个空格间隔。具体格式可参考样例。c++ 源代码(732点数解答 | 2024-11-03 02:34:53)499
- [字节豆包] . 计算机科学家和数学家经常使用 10 以外基数的进制系统。编写一个程序,允许用户输入一个数字和一个基数,然后打印出新基数中的数字。使用递归函数 baseconversion(num, base)打印数字。 提示:考虑基数 10。要获得基数 10 时最右边的数字,只需除以 10 后查看余数。例如,153 % 10 是 3。要获取剩余的数字,你可以对 15 重复该过程, 15 是 153 // 10。这个过程适用于任何基数。唯一的问题是要以相反的顺序得到数字(从右到左)。当 num 小于 base 时会发生递归的基本情况,输出就是 num。在一般情况下,函数(递归)打印 num // base 的数字,然后打印 num % base。你应该在连续输出之间放置一个空格,因为基数大于 10 时,会打印出多个字符的“数字”。例如, baseconversion(1234, 16)应打印 4 13 2。(198点数解答 | 2024-11-21 14:20:25)410
- [百度文心] . 计算机科学家和数学家经常使用 10 以外基数的进制系统。编写一个程序,允许用户输入一个数字和一个基数,然后打印出新基数中的数字。使用递归函数 baseconversion(num, base)打印数字。 提示:考虑基数 10。要获得基数 10 时最右边的数字,只需除以 10 后查看余数。例如,153 % 10 是 3。要获取剩余的数字,你可以对 15 重复该过程, 15 是 153 // 10。这个过程适用于任何基数。唯一的问题是要以相反的顺序得到数字(从右到左)。当 num 小于 base 时会发生递归的基本情况,输出就是 num。在一般情况下,函数(递归)打印 num // base 的数字,然后打印 num % base。你应该在连续输出之间放置一个空格,因为基数大于 10 时,会打印出多个字符的“数字”。例如, baseconversion(1234, 16)应打印 4 13 2。(499点数解答 | 2024-11-22 09:58:55)311
- [字节豆包] 题目描述 小 Y 最近学习了 ASCII 码的相关知识后,了解了以下内容: 小写字母 a ~ z 对应的ASCII码是 97 ~ 122 大写字母 A ~ Z 对应的ASCII码是 65 ~ 90 他想要编程实现一个字母与ASCII码之间转换的程序:如果输入的是字母,程序就会输出该字母对应的ASCII码;如果输入的是字母的ASCII码(只能在 65 ~ 90 或者 97 ~ 122 范围内),则输出该ASCII码对应的字符。请你帮助小 Y 完成一下这个程序吧! 注:输入内容只能是大写字母、小写字母或整数中的一种,并且整数只能在 65 ~ 90 或者 97 ~ 122 范围内。如果输入的是大写字母或者是小写字母,一次只能输入一个字符。 输入 一行,一个字符或整数,表示字母或者字母对应的ASCII码 输出 一行,一个字符或整数,对应输入内容的字母或ASCII码(295点数解答 | 2025-11-02 16:58:48)63