gpt4 book ai didi

c - 以垂直格式显示数字

转载 作者:行者123 更新时间:2023-11-30 21:11:03 25 4
gpt4 key购买 nike

我是 C 语言新手。我有一个类作业,要求以垂直格式显示数字。如果用户输入 5678,教师希望它在单列中垂直于屏幕显示,如下所示:

8
7
6
5

赋值的第二部分是找到相同数字的最大除数。我完全迷路了。我从另一个函数获取 NUM 值。公式似乎适用于偶数,但适用于奇数。

int divisor (int NUM)

{
int index, count=0;

for(index=2;index<=(NUM/2);index=index+1)
{
if(NUM%index==0)
count++;
}
printf("\n\nThe largest divisor of %d is %d\n",NUM, index-1);
return(index);
}

最佳答案

垂直显示数字:

1. get least significant digit,
2. print it and print new line,
3. shift number to the right by one digit
4. goto 1

当数字为零时算法终止。调用输入的数字n;可以使用 n % 10 获取最低有效(最右边)的数字。右移可以通过n = n/10来完成。

对于第二部分,请注意最大除数不能大于 n/2(因为 n = 2 * n/2)。因此,请尝试从 n/21 的所有数字,并在找到除数后中断。您会找到最大的除数,因为您正在按降序考虑数字。要检查 x 是否除以 y,请使用 y % x == 0

第二种方法是检查从 sqrt(n)1 的数字。如果mn,我们可以对某些k写成n = m * k。现在您采用 max(m, n/m) 并继续。

希望这有帮助:)

关于c - 以垂直格式显示数字,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26197949/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com