100以内质因数分解代码


#include<stdio.h>
#include<stdlib.h>
#include<string.h>
#include<malloc.h>
typedef struct arr{int a;struct arr *next;}node;
int main()
{void Choose(int n);int Scanf();int n=Scanf(),i=0;while(n==1||n==2){if(i==0)Choose(n);else{n=Scanf();Choose(n);}i=1;}printf("谢谢使用\n");return 0;
}
void GCD(int n)
{node *Factor(node *h,int n);node *head;head=(node *)malloc(sizeof(node));head=Factor(head,n);printf("数字");printf("%d",n);printf("可以因式分解为:\n");while(head->next!=NULL){printf("%d",head->next->a);if(head->next->next!=NULL)printf("x");head=head->next;}printf("\n");
}
void GCD(int n,int m)
{node *insert(node *a,int i);node *dele(node *head,node *a);node *Factor(node *h,int n);node *head1,*head2,*s,*t;head1=(node *)malloc(sizeof(node));head2=(node *)malloc(sizeof(node));s=head1;t=head2;int add_arr[100];int k=0;head1=Factor(head1,n);head2=Factor(head2,m);node *p=head1,*q;while(p->next!=NULL){q=head2;while(q->next!=NULL){if(p->next->a==q->next->a){add_arr[k++]=p->next->a;p=dele(head1,p->next);q=dele(head2,q->next);}elseq=q->next; }if(p->next!=NULL)p=dele(head1,p->next);elsebreak;}for(int i=1;i<k;i++)add_arr[i]*=add_arr[i-1];if(add_arr[0]>0){printf("公因数为:");printf("%d\n",add_arr[k-1]);}else printf("无公因数\n");
}
node *Factor(node *h,int n)
{node *insert(node *a,int i);node *s=h;while(n%3==0||n%2==0||n%5==0||n%7==0){if(n%3==0){s=insert(s,3);n/=3;}if(n%2==0){s=insert(s,2);n/=2;}if(n%5==0){s=insert(s,5);n/=5;}if(n%7==0){s=insert(s,7);n/=7;}}s=insert(s,n);return h;
}
node *insert(node *a,int i)
{node *q;q=(node *)malloc(sizeof(node));a->next=q;q->next=NULL;q->a=i;return q;
}
node *dele(node *head,node *a)
{node *b=head;while(b->next!=a)b=b->next;b->next=a->next;free(a);return b;
}
int Scanf()
{int i;printf("请输入执行功能:\n");printf("1、因数分解\n");printf("2、提取公因数\n");printf("3、结束程序\n");scanf("%d",&i);return i;
}
void Choose(int n)
{void GCD(int n,int m);void GCD(int n);switch(n){case 1:{int temp;printf("请输入待分解数:\n");scanf("%d",&temp);GCD(temp);break;}case 2:{int temp_1,temp_2;printf("请输入待提取数:\n");scanf("%d%d",&temp_1,&temp_2);GCD(temp_1,temp_2);break;}}
}

100以内质因数分解代码相关推荐

  1. js输出100以内的质数_JavaScript 斐波那契数列 倒序输出 输出100以内的质数代码实例...

    这篇文章主要介绍了JavaScript 斐波那契数列 倒序输出 输出100以内的质数代码实例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 斐波那契 ...

  2. C语言 | 六种方法输出100以内的素数 | 代码演示

    一.简单遍历 这是一个简单的C语言程序,实现的功能是打印出2到100之间的所有素数. 程序的基本思路是:用变量i从2开始逐个遍历到100,对于每一个i,用变量j从2开始逐个遍历到i-1,如果i能被j整 ...

  3. java质因数算法_Java实现的质因数分解操作示例【基于递归算法】

    本文实例讲述了Java实现的质因数分解操作.分享给大家供大家参考,具体如下: 这里演示java通过递归实现质因数分解,代码如下: import java.util.Scanner; public cl ...

  4. Linux质数合数的脚本,python输出100以内的质数与合数实例代码

    python输出100以内的质数与合数实例代码 具体代码如下所述: __author__ = 'Yue Qingxuan' # -*- coding: utf-8 -*- #求质数 p=[2] for ...

  5. python100以内自然数之和_python输出100以内的质数与合数实例代码

    具体代码如下所述: __author__ = 'Yue Qingxuan' # -*- coding: utf-8 -*- #求质数 p=[2] for i in range(2,101): for ...

  6. python中求合数_python输出100以内的质数与合数实例代码

    具体代码如下所述: __author__ = 'Yue Qingxuan' # -*- coding: utf-8 -*- #求质数 p=[2] for i in range(2,101): for ...

  7. python输出1到100之间的合数_python输出100以内的质数与合数实例代码

    具体代码如下所述: __author__ = 'Yue Qingxuan' # -*- coding: utf-8 -*- #求质数 p=[2] for i in range(2,101): for ...

  8. 5行代码找出100以内所有的合数

    什么是合数: 自然数中除能被1和本数整除外,还能被其他的数整除的数.如:6能被1和6整除,也能被2和3整除. 使用以下5行代码可以打印出100以内所有的合数: for n in range(1,100 ...

  9. python100以内的质数_python输出100以内的质数与合数实例代码

    具体代码如下所述: __author__ = 'Yue Qingxuan' # -*- coding: utf-8 -*- #求质数 p=[2] for i in range(2,101): for ...

最新文章

  1. java中表示二进制、八进制、十进制、十六进制,double、float、整型
  2. java b2b2c shop 多用户商城系统源码- eureka集群整合hystrix框架
  3. 捕捉mysql中不可忽视的知识点(一)
  4. Infiniband网络抓包
  5. idea使用dababase tools时导出db2建表语句,索引显示错误
  6. /hgfs下无共享文件夹?/mnt下没有hgfs文件夹?vmhgfs-fuse:找不到命令?
  7. 使用ueditor实现多图片上传案例——ServiceImpl层(ShoppingServiceImpl)
  8. python 文本文件处理_53 Python - txt普通文件处理
  9. Kubernetes在上汽集团云平台及AI方面的应用
  10. 案例分析--AD客户端登录验证缓慢问题
  11. (三)混合边缘AI人脸对齐
  12. uni一t 说明书_不输特斯拉,站在UNI-T背后的长安「超级工厂」
  13. three.js 笑脸雨
  14. 一、python:一种计算机的胶水语言
  15. shell实现ftp命令示例
  16. 《东周列国志》第三十八回 周襄王避乱居郑 晋文公守信降原
  17. android 11.0 12.0添加系统字体并且设置为默认字体
  18. 微信公众号,JS-SDK获取位置信息,并调起第三方地图App导航
  19. 書劍恩仇錄 (無線電視翡翠台版本) - 劇本終回由誰人敲定? 就是李添勝.
  20. 11 个最佳免费安全网站

热门文章

  1. 成功解决xgboost.core.XGBoostError: b‘value 0 for Parameter num_class should be greater equal to 1‘
  2. 201819102023王逢千禧
  3. 关于光纤的基本理论(一)光纤的分类和多模阶跃折射率光纤
  4. 项目38.2 打豆豆
  5. SAP学习之配置——BOM用途
  6. 微信小程序+webSocket一对一客服聊天
  7. chartjs隐藏label和横纵坐标(react)
  8. 沪江日语电台和听歌学日语节目走进博客园咯~
  9. Java8中的日期与时间处理
  10. IDEA中连接MySQL数据库并逆向生成实体类