重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
while(n!=1)
网站建设哪家好,找成都创新互联公司!专注于网页设计、网站建设、微信开发、微信小程序、集团企业网站建设等服务项目。为回馈新老客户创新互联还提供了开平免费建站欢迎大家使用!
当N不等于1的时候循环~但是printf("%i\n",n); 这句还是执行了
有求,那我就来了.
首先把i=n的等于号去掉,改为in就好(楼下说的)
然后补充:最后一个printf就不要了,那么1就不显示出来了.还是有点地方要改~改好的如下:
#include stdio.h
main()
{
int n,i;
printf("Enter an integer (2-2147483647):");
scanf("%d",n);
printf("%d=",n);
for(i=2;i=n;i++)
{
while(n!=1)
{
if( n%i==0)
{
printf("%i",i);
n=n/i;
}
else
break;
if(n!=1)/*当n=1时就不显示"*"号,如果没这句,你可以看看会出现什么*/
printf("*");
else
;
}
}
}
#includestdio.h
int main()
{
int i, j, a[999999], x, y;
scanf("%d", x); //读取
y = x;
for(i = 2, j = 0; i = x; i++) //遍历质因数
{
if(x % i == 0) //如果读取的数能够被质因数整除
{
a[j] = i; //将符合条件的质因数存到数组中
j++; //数组下标递增
x /= i; //重新赋值
i = 2; //重新遍历
}
}
printf("%d=%d", y, a[0]); //输出原数、等号、第一个质因数
for(i = 1; i j; i++)
printf("×%d", a[i]); //如果存在第二个质因数,则继续输出
return 0;
}
按照题目要求编写的数组中的质因数的C语言程序如下
#include stdio.h
void f(){
int n,a[100],count=0,k;
scanf("%d",n);
for (k=2;kn;k++)
{
if(n%k==0)
{
a[count]=k;
count++;
n=n/k;
k--;
}
}
a[count]=n;
for(k=0;k=count;k++)
{
printf("%d\n",a[k]);
}
}
int main(){
f();
return 0;
}
求出区间[a,b]中所有整数的质因数分解。
输入
输入两个整数a,b。
输出
每行输出一个数的分解,形如k=a1*a2*a3...(a1=a2=a3...,k也是从小到大的)(具体可看样例)。
样例输入
3 10
样例输出
3=3
4=2*2
5=5
6=2*3
7=7
8=2*2*2
9=3*3
10=2*5
蓝桥杯
#includestdio.h
#includemath.h
int factor(int n)
{
int i,j=(int)sqrt(n);
if(n%2==0) return 2;
for(i=3;i=j;i++)
if(n%i==0) return i;
return n;
}
int main()
{
int i, j, k, m, n;
scanf("%d%d", m, n);
for(i=m;i=n;i++)
{
j=factor(i);
k=i/j;
printf("%d=%d",i,j);
while(k1)
{
j=factor(k);
k=k/j;
printf("*%d", j);
}
printf("\n");
}
return 0;
}
分解质因数牛逼方法