C语言编写:求2-100中,每个数的质因子
发布网友
发布时间:2022-05-26 20:11
我来回答
共4个回答
热心网友
时间:2023-10-25 03:44
#include <stdio.h>
#include <math.h>
void fun(int num) /* 该函数输出num的因数分解表达式 */
{
int flag = 0 ; /* flag 表示找到了num的一个质因数 */
int i;
int have_factor=0; /* have_factor 表示num有没有质因数 */
int root;
do
{
flag=0;
root = sqrt(num); /* root 表示查找num的质因数的最大可能值 */
for(i=2;i<=root;i++)
{
if(num%i==0) /* 找到了num的一个质因数 */
{
if(have_factor==0) { printf("\n%d = %d * ",num,i); }
else { printf("%d * ",i); }
num/=i;
flag=1;
have_factor=1;
break;
}
}
}while(flag==1); /* 如果num还能继续分解,则继续循环,否则退出循环 */
if(have_factor==1) { printf("%d",num); }
else { printf("\n\n%d is a prime number!\n",num);}
return;
}
main()
{
int k;
for(k=2;k<=100;k++)
{
fun(k);
}
getch();
}
热心网友
时间:2023-10-25 03:44
#include
void
main()
{
void
z(int
n,int
i);
for(int
i=2;i<=100;i++)
{
printf("%d=",i);
z(i,2);
printf("\n");
}
}
void
z(int
n,int
i)//分解质因数的函数
{
if(n%i==0)
{
if(n==i)
printf("%d",i);
//如果n能被i整除并且n==i,则n只有它本身一个因子,所以直接输出即可
else
{
printf("%d*",i);
//由于n!=i但n%i==0,左移i是n的一个质因数,先将i输出
z(n/i,i);
//进行一层递归
}
}
else
//如果n%i!=0
{
i++;
//将i加一
if(i<=n)
z(n,i);
//如果i比n小,则进行一层递归调用
else
printf("%d",n);
}
}
热心网友
时间:2023-10-25 03:45
#include <stdio.h>
void main()
{
void z(int n,int i);
for(int i=2;i<=100;i++)
{
printf("%d=",i);
z(i,2);
printf("\n");
}
}
void z(int n,int i)//分解质因数的函数
{
if(n%i==0)
{
if(n==i)
printf("%d",i); //如果n能被i整除并且n==i,则n只有它本身一个因子,所以直接输出即可
else
{
printf("%d*",i); //由于n!=i但n%i==0,左移i是n的一个质因数,先将i输出
z(n/i,i); //进行一层递归
}
}
else //如果n%i!=0
{
i++; //将i加一
if(i<=n)
z(n,i); //如果i比n小,则进行一层递归调用
else
printf("%d",n);
}
}
热心网友
时间:2023-10-25 03:45
都好复杂
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
#include <string.h>
#include <time.h>
int main()
{
int x,y,i,j;
scanf ("%d",&x);
printf ("%d=",x);
for (i=2;i<=x;i++)
{
while (x%i==0)
{
printf ("%d*",i);
x=x/i;
}
}
printf ("\b");
system("pause");
return 0;
}
C语言编写:求2-100中,每个数的质因子
{ int flag = 0 ; /* flag 表示找到了num的一个质因数 */ int i;int have_factor=0; /* have_factor 表示num有没有质因数 */ int root;do { flag=0;root = sqrt(num); /* root 表示查找num的质因数的最大可能值 */ for(i=2;i<=root;i++){ if(num%i==0) ...
非结构化数据如何可视化呈现?
通常情况下,我们会按照结构模型把系统产生的数据分为三种类型:结构化数据、半结构化数据和非结构化数据。结构化数据,即行数据,是存储在数据库里,可以用二维表结构来逻辑表达实现的数据。最常见的就是数字数据和文本数据,它们可以某种标准...
编程把2到100的数用质因数以下列形式表达出来2=2 3=3 4=2*2 5=5 6...
数字不大,给个烂算法吧:不管三七二十一,不断输出最小的因子就可以了。include <stdio.h> void print_factor(int n);int main(){ int i;for (i = 2; i <= 100; ++i)print_factor(i);return 0;} void print_factor(int n){ int flag = 1;int i;printf("%d =", n);for (...
c语言求100以内的素数
void main(){ for(int i=2;i<=100;i++)/*确定范围:2——100*/ { for(int k=2;k<i;k++){ if(i%k==0)break;/*如果找到一个不是1或者它本身的因子,则停止该循环,此时k
用C语言输出100之间的所有质数
1、首先新建一个空白的c语言文件,引入头文件,头文件中包括math库,稍后会用到,建立主函数:2、主函数上面新建一个判断素数的函数isPrime,判断依据是小于从2到算数平方根的数即是素数。然后在主函数中遍历2到100的数,调用isPrime判断满足素数条件就输出:3、写完代码最后打开编译后的调试窗口,屏幕就...
c语言编程:求一个数的质因子
i; //重新赋值 i = 2; //重新遍历 } } printf("%d=%d", y, a[0]); //输出原数、等号、第一个质因数 for(i = 1; i < j; i++) printf("×%d", a[i]); //如果存在第二个质因数,则继续输出 return 0;} ...
c语言程序:输出一个数的所有质因子
版本2:#include <stdio.h>int main(){int prime;scanf("%d", &prime);printf("The prime is %d\n", prime);for (int i = 1; i <= prime; i ++) { if (prime % i == 0){ printf("%d ", i); } } printf("\n");}直接复制粘贴即可!
用c语言编写程序输出1-100内的素数
因此筛除时,只要筛除含有10以内的质因子的数就可以了。下面给出筛选法的代码。include "stdio.h"void main( ){ bool isprime[100];int i, j;isprime[0] = false;isprime[1] = false;for(i = 2; i < 100; i++) /*先初始化2~100的都是素数,然后将非素数筛除掉*/ isprime...
如何通过c语言编程编写一个函数可以输出整数m的全部素数因子?
//参考下~~\x0d\x0a#include \x0d\x0amain() \x0d\x0a{ \x0d\x0a int x,i,k;\x0d\x0a printf("请输入:\n");\x0d\x0a while(scanf("%d",&x)) \x0d\x0a { \x0d\x0a printf("分解质因数:\n");\x0d\x0a k=x;\x0d\x0a for(i=2;i<k;i++)...
C语言求100以内素数的问题
printf("%d ",i);} } printf("\ncount=%d\n",count);return 0;} 解题思路:素数,就是除了1和他本身,不能被其他数整除的数字。答案就是用100到200之间的每个数字,除以2到其本身前面的那一个数字,如果此过程中出现整除的现象,则该数不是素数。如果没有整除的现象,则该数为素数输出。
C语言,输入一个正整数,按由大到小的顺序输出它的所有质数的因子(如180=...
include<math.h> int prime(int y){ int i;if(y==1) return 0;if(y==2) return 1;for(i=2;i<y;i++){ if(y%i==0)return 0;} return 1;} main(){ int a,i;scanf("%d",&a);for(i=a;i>1;i--){ if(a%i==0&&prime(i)==1){ a=a/i;printf(" %d " ,i);...