c# - 在没有特定运算符(+、-、/、*、%、+= %= 等)的范围内获取可整除的数字
问题描述
查找输入范围内可被 3 整除的数字。只能使用 =、++、- 运算符。
我尝试使用移位运算符和其他循环来获取余数,但我总是需要 -= 或类似的东西。
Console.Clear();
int n,
d,
count = 1;
// get the ending number
n = getNumber();
// get the divisor
d = 3;// getDivisor();
Console.WriteLine();
Console.WriteLine(String.Format("Below are all the numbers that are evenly divisible by {0} from 1 up to {1}", d, n));
Console.WriteLine();
// loop through
while (count <= n)
{
// if no remainder then write number
if(count % d == 0)
Console.Write(string.Format("{0} ", count));
count++;
}
Console.WriteLine();
Console.WriteLine();
Console.Write("Press any key to try again. Press escape to cancel");
预期成绩:
输入结束数字:15
下面是从 1 到 15 能被 3 整除的所有数字
3、6、9、12、15
解决方案
想想底层的数学:
2 x 3 = 3 + 3
3 x 3 = 3 + 3 + 3
4 * 3 = 3 + 3 + 3 + 3
...等等。
此外,能被 3 整除意味着乘以 3 的数字必须是偶数......所以......
public bool EvenlyDivisibleBy3(int aNumber)
{
int even = 2;
int currentMultiple = 0;
while (currentMultiple < aNumber)
{
int xTimes = 0;
for (int x = 1; x <= even; x++)
{
((xTimes++)++)++; // add three to xTimes
}
currentMultiple = xTimes;
(even++)++: // next even number
}
return currentMultiple == aNumber;
}
推荐阅读
- spring-boot - Spring Boot 我无法切换 keycloak 和基本身份验证
- hibernate - IBM Integration BUS (IIB) 中的休眠 SQL - 在没有插件的情况下配置 log4j
- php - 无法加载请求的类:分页
- r - 在shinyapps.io上部署后,我的闪亮应用程序不会加载图像,但它在本地工作得很好
- arrays - 在 Swift 5.1 中,在不知道键的情况下,根据 Date 类型的字典值对字典数组进行排序?
- php - 发送电子邮件时出现 Swift_TransportException
- c++ - < 没有成员的类的运算符
- orange - 我是否以正确的方式在 Orange 中使用 PCA?
- node.js - 电子升级节点
- matlab - 如何根据实时(x,y,z)坐标在 Simulink 中制作 3d 图?