这段代码存储前n个自然数。并且数字的顺序是升序的。现在我们必须打印所有数字,以便 a[i]
不能被 a[j]
整除,其中 i>j
。
这是我写的简单代码。我尝试使用一个循环按 O(n) 的顺序进行。
但它正在赋予垃圾值(value)。
#include<stdio.h>
main()
{
int i=1,n;
printf("enter the numbers \n");
scanf("%d",&n);
int a[n];
for(i=1;i<=n;i++)
{
a[i]=i;
printf("%d\n",a[i]);
}
while(a[i+1]>a[i] && a[i+1]%a[i]!=0){
printf("%d",a[i]);
i++;
}
}
最佳答案
在C 中数组是从0
到n-1
。此外,您忘记在进入 while 循环之前重置 i
的值。
关于c - 制作n个自然数的数列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17675067/