本题目要求读入1个整数,输出其所有约数(穷举法。是约数则输出,无需break)。
输入格式:
输入一个正整数(int型, 配合%d读入。不必考虑非法输入)。
输出格式:
输出该整数的所有约数(注意:不包含1和自身)。简单起见,空格隔开数据,且假设最后一数据结尾也有空格。即如printf("%d ",i);格式输出每个约数i即可。
输入样例:
20
输出样例:
2 4 5 10
可以使用穷举法,即从1到该整数进行循环,如果该整数能够被循环变量整除,则输出该循环变量。无需使用break语句,因为需要输出所有约数。可以参考以下代码:
样例代码:
#include <stdio.h>
int main()
{
int n,i;
scanf("%d",&n);
for(i=1;i<=n;i++)//穷举循环变量i从1到n
{
if (n%i==0)
printf("%d ", i);//如果i是n的约数,则输出i
}
return 0;
}
如果不想要约数1和数字本身,则代码可以改为:
#include <stdio.h>
int main()
{
int n,i;
scanf("%d",&n);
for(i=2;i<n;i++)
{
if (n%i==0)
printf("%d ", i);
}
return 0;
}