|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
#include <stdio.h>
int sushu(int n);
int main()
{
//int n,i;
sushu(45);
int n,i;
int isprime;
printf("%d=",n);
if( isprime == 1)
{
printf("%d",n);
}
else
{
for(i=2;i<=n;i++)
{
while(n!=i){ //公约数最大是数字本身 控制for循环次数
if(n%i == 0){
printf("%dx",i);
n /=i; //控制while循环次数
}
else{
break;
}
}
}
}
printf("%d\n",n);
return 0;
}
int sushu(int n)
{
// int n;
scanf("%d",&n);
int isprime = 1;//素数的标志
int i;
for(i=2;i<=n-1;i++)
{
if(n%i == 0)
{
isprime = 0;
}
}
if(isprime == 1)
{
printf("isprime=%d\n",isprime);
}
else
{
printf("isprime=%d\n",isprime);
}
return 0;
}
- #include <stdio.h>
- void sushu(int n);
- void primefactor(int n);
- int main()
- {
- sushu(45);
- return 0;
- }
- void sushu(int n)
- {
-
- int isprime = 1;//ËØêyμıêÖ¾
- int i;
- for(i = 2; i <= n-1; i++)
- {
- if(n%i == 0)
- {
- isprime = 0;
- break;
- }
- }
-
- if(isprime == 1)
- {
- printf("%d is a prime number.\n",n);
- }
- else
- {
- printf("%d is not a prime number\n",n);
- primefactor(n);
- }
- }
- void primefactor(int n)
- {
- int a = n;
- int b[10] = {0};
- int j = 0, k;
- while (a != 1)
- {
- for (int i = 2; i < n; i++)
- {
- if (a % i == 0)
- {
- a /= i;
- b[j++] = i;
- break;
- }
- }
- }
-
- printf("%d = ", n);
- for (k = 0; k < j-1; k++)
- {
- printf("%d * ", b[k]);
- }
- printf("%d\n", b[k]);
- }
复制代码
|
|