分解质因数c语言
① 关于翁恺c语言之习题“分解质因数”的问题
把printf("%ld*",a);改成printf(digital>1 ? "%ld*" : "%ld\n",a);即可。这种东西只能“因地制宜”……
② C语言分解质因数
#include <stdio.h>
int main(){
int n; // 用户输入的整数
int i; // 循环标志
printf("输入一个整数:");
scanf("%d",&n);
printf("%d=",n);
// n>=2才执行下面的循环
for(i=2; i<=n; i++){
while(n!=i){
if(n%i==0){
printf("镇闹乎%d*",i);
n=n/i;
}else
break;
}
}
printf("%d ",n);
return 0;
}
③ c语言分解质因数怎么用指数的形式表示 比如180=2*^2 *3^2 *5
外函数:y=e^u
内函数:u=φ(x)
复合函数:y=e^(φ(x))
导数:y'=[e^(φ(x))]'=[e^u]'*φ'(x)=y*φ'(x)=e^(φ(x))*φ'(x)
[e^(-x^2)]'=e^(-x^2)*(-2x)
④ C语言编程 将一个正整数分解质因数。例如:输入90,打印出90=2*3*3*5
声明一int型变量n接收键盘输入并限制为正数。另一int型变量i初值赋2,用i去除n,能被整除则输出i为质因数,并将n赋值为n/i;不能整除则i增1再去除n的新值……如此反复至n==1为止。输出时,在n==1之前增印一个*号表示“乘”。代码如下:
#include"stdio.h"
intmain(intargc,char*argv[]){
intn,i;
printf("Inputn(intn>0)... n=");
if(scanf("%d",&n)!=1||n<1){//输入并限制大于0
printf("Inputerror,exit... ");
return0;
}
printf(" %d=",n);
for(i=2;n>1;){//分解质因数,i从2开始
if(n%i==0){//能被i整除则输出因数i
printf("%d",i);
if((n/=i)>1)//未到最后一个因数则输出一个*号
printf("*");
}
else//不能被i整除则i增1
i++;
}
printf(" ");
return0;
}
运行样例如下:
⑤ c语言将一个正整数分解质因数,望高手帮我详细解释一下程序
1、首先打开vc6.0, 新建一个vc项目,添加头文件。
⑥ 怎么用C语言将一个正整数分解质因数.例如,输入90,输出90=2*3*3*5
#include "stdio.h"
void main()
{int m,i,j=0;
printf("please input the number:\n");
scanf("%d",&m);
for(i=2;i<=m;i++)
{while(m%i==0)
{j++;
if(j==1) printf("%d=%d",m,i);
else printf("*%d",i);
m=m/i;
}
}
}
没有用中文,怕你用的是TC,那就会出现乱码,这程序关键在于寻找质因数和输出格式的控制。