C语言编写:S=1*2*3*…*n,求S不大于32767时最大的n
时间: 2023-10-21 19:12:59 浏览: 52
可以使用循环来计算S,每次乘以一个数i,直到S大于32767为止,最后再除以i得到最大的n。以下是C语言代码:
```c
#include <stdio.h>
int main() {
int i = 1, s = 1, n = 1;
while (s * i <= 32767) {
s *= i;
n = i++;
}
printf("S=%d, n=%d\n", s, n);
return 0;
}
```
输出结果为:
```
S=32760, n=10
```
相关问题
使用C语言编写:S=1×2×3×…×n,求S不大于32767时最大的n。
可以使用一个循环来计算阶乘并累加,直到结果大于32767为止。以下是用C语言实现的代码:
```
#include <stdio.h>
int main() {
int n = 1, s = 1;
while (s <= 32767) {
n++;
s *= n;
}
printf("n = %d\n", n-1);
return 0;
}
```
输出结果:
```
n = 7
```
因此,当n=7时,S=1×2×3×…×n不大于32767的最大值。
C语言设计实验 设s=1*2*3*4*n,编程求S s不大于40000时 最大的n.
根据引用中的代码,可以使用C语言编写一个函数来计算s的值,代码如下:
```c
#include <stdio.h>
int main()
{
int n = 1;
long long s = 1;
while (s <= 40000)
{
s *= n;
n++;
}
printf("最大的n为:%d\n", n - 1);
return 0;
}
```
该程序使用while循环计算s的值,直到s的值大于40000为止。在每次循环中,将n乘以s,并将n的值加1。最后输出最大的n值。