『壹』 求2~100中每个数的质因子,输出如下形式(Free Pascal,只用循环结构之前的知识。)
在求2到100中每个数的质因子时,我们可以采用以下编程方法:
首先,定义变量n、i、j和k,其中n表示当前处理的数,i表示可能的质因子,j用于计数,k表示当前处理的数与质因子的商。
从2开始遍历到100,对每个数n进行质因子分解。
对于当前数n,从最小的质数2开始尝试分解。使用变量i表示当前尝试的质数,变量k表示n与当前质数的商。
使用循环结构,只要k模i不等于0,即i不是n的质因子,则i自增1继续尝试。
当找到一个质因子i时,输出n等于i,然后将n更新为k,即将n除以当前找到的质因子。
再次进入循环,对更新后的n进行分解,直到k大于等于i,即n无法被当前质数进一步整除。
在这个过程中,一旦发现k能被i整除,表示i是n的一个质因子,输出星号“*”与i,然后将k更新为n与i的商,继续尝试分解。
一旦k不再能被i整除,i自增1继续尝试分解。重复此过程,直到所有质因子都被找到。
对于每个n,重复上述过程,直至遍历完整个范围,输出结果。
具体代码如下,注意根据使用的编程环境调整语法细节:
『贰』 c语言编程,如何求一个整数n的倍数
假如整数n除以m,结果是无余数的整数,那么我们称m就是n的因子。 需要注意的是,唯有被除数,除数,商皆为整数,余数为零时,此关系才成立。反过来说,我们称n为m的倍数 。
如果利用C语言求一个整数n的因子,可以从1开始到n,依次加1,如果它是n的的因子,则输出。
具体的源码实现如下:
#include<stdio.h>
#include<stdlib.h>
intmain(intargc,char*argv[])
{
intn;
while(scanf("%d",&n)!=EOF)
{
if(n<1)break;
inti;
for(i=1;i<=n;i++)
{
if(n%i==0)
printf("%d",i);
}
printf(" ");
}
return0;
}
编译运行后的结果: