编写输出1000-2000之间所有能同时被17和37整除的数

本文分享了一个使用VBA编写的程序,该程序能够筛选出1000到2000之间能被17乘以37整除的整数。通过定义一个判断函数并在循环中调用它来实现这一目标。

本周的计算机课,老师给我们留了课后2道题,其一即为此。下面是我编写的程序。

首先在通用中写:

Function Judge(N As Integer)As Boolean
Judge=N Mod 17 * 37=0
End Function
然后编写代码:
Private Sub Command1_Click()
Dim i As Integer
For i = 1000 to 2000
If Judge(i) Then
Print i
End If
Next 
End Sub
 
最后运行程序。


心得:这次的作业是经过查资料才完成的,本以为挺难,做完以后才发现代码就这么点,,,

还是不行呃。。

<think> 我们要求输出1到100之间能被2整除但不能被3整除。 思路: 1. 遍历1到100之间的所有整。 2. 对于每个整,判断是否满足两个条件: (a) 能被2整除:即 i % 2 == 0 (b) 不能被3整除:即 i % 3 != 0 3. 如果同时满足这两个条件,则输出。 参考引用中提供了类似问题的代码(输出100-200之间不能被3整除),我们可以在此基础上增加一个条件。 我们将使用for循环遍历1到100,然后在循环体内使用if语句判断条件。 注意:为了输出美观,我们可以每输出5个换一行(可选),但题目没有要求,这里我们先按每行一个输出,然后根据用户要求调整。 但是,根据用户的问题,我们只需要输出这些,没有要求格式。不过,为了清晰,我们可以每行输出5个。 我们可以在循环中增加一个计器,每输出一个,计器加1,当计器达到5时换行并将计器归零。 不过,题目没有明确要求格式,所以我们可以先按简单的一行输出多个,用空格隔开。但是,如果所有输出在一行会很长,所以我们可以每5个换一行。 下面我们编写代码: 步骤: 1. 定义变量i用于循环,定义计器count用于控制每行输出5个。 2. 循环从1到100。 3. 判断条件:i%2==0 且 i%3!=0。 4. 如果满足,则输出,并且计器加1。 5. 当计器为5时,换行并将计器归零(这样每行5个)。 6. 注意:有可能最后一行不足5个,所以循环结束后不需要再换行,因为最后输出后已经换行。 但是,我们也可以选择不换行,而用空格隔开,这样不会出现最后一行换行多余的情况。不过,按每5个换行更美观。 另一种做法:我们可以每输出一个,就输出一个空格,然后每5个输出一个换行。 我们选择:每输出一个输出一个空格,当count是5的倍时(除了0)换行。但是注意,我们在输出第五个后换行,然后重置count为0。 但是,我们也可以在输出一个后,判断count是否为5,如果是则换行并重置count=0,否则继续。 具体实现: 代码: 注意:我们使用C89标准(因为一些编译器默认C89),所以变量定义在函开头。 我们将编写两个版本: 版本1:所有输出在一行,用空格隔开(可能很长) 版本2:每行输出5个 这里我选择版本2。 代码如下: </think> ### 使用C语言输出1-100之间能被2整除但不能被3整除 根据您的需求,我将编写一个C程序输出1-100之间所有能被2整除但不能被3整除。以下是完整的解决方案: ```c #include <stdio.h> int main() { int count = 0; // 计器,用于控制每行输出字个 printf("1-100之间能被2整除但不能被3整除:\n"); // 遍历1到100的所有整 for(int i = 1; i <= 100; i++) { // 判断条件:能被2整除且不能被3整除 if((i % 2 == 0) && (i % 3 != 0)) { printf("%-3d ", i); // %-3d保证字对齐 count++; // 每输出5个字换一行 if(count % 5 == 0) { printf("\n"); } } } printf("\n"); // 程序结束时换行 return 0; } ``` ### 程序说明: 1. **循环结构**: - 使用`for`循环遍历1-100的所有整 - `i`从1开始,每次递增1,直到100 2. **条件判断**: - `(i % 2 == 0)`:检查是否能被2整除 - `(i % 3 != 0)`:检查是否不能被3整除 - 使用逻辑与`&&`组合两个条件 3. **输出格式**: - `%-3d`:左对齐输出,每个字占3位宽度 - 每行输出5个字,提高可读性 - 使用计器`count`控制换行时机 ### 输出示例: ``` 1-100之间能被2整除但不能被3整除: 2 4 8 10 14 16 20 22 26 28 32 34 38 40 44 46 50 52 56 58 62 64 68 70 74 76 80 82 86 88 92 94 98 100 ``` ### 学原理: 程序的筛选条件基于以下学定义: - 能被2整除:$n \equiv 0 \pmod{2}$ - 不能被3整除:$n \not\equiv 0 \pmod{3}$ - 同时满足条件:$n \in \{ x \mid x \equiv 0 \pmod{2} \land x \not\equiv 0 \pmod{3} \}$ 这类字的特性是它们都是偶但不是3的倍,在论中属于特定的剩余类组合[^4]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值