C语言入门-第六周:作业01
来源:互联网 发布:php cokie怎么保存数据 编辑:程序博客网 时间:2024/04/29 02:14
1分解质因数(5分)
题目内容:
每个非素数(合数)都可以写成几个素数(也可称为质数)相乘的形式,这几个素数就都叫做这个合数的质因数。比如,6可以被分解为2x3,而24可以被分解为2x2x2x3。
现在,你的程序要读入一个[2,100000]范围内的整数,然后输出它的质因数分解式;当读到的就是素数时,输出它本身。
提示:可以用一个函数来判断某数是否是素数。
输入格式:
一个整数,范围在[2,100000]内。
输出格式:
形如:
n=axbxcxd
或
n=n
所有的符号之间都没有空格,x是小写字母x。abcd这样的数字一定是从小到大排列的。
输入样例:
18
输出样例:
18=2x3x3
时间限制:500ms内存限制:32000kb
#include<stdio.h>#include<Windows.h>int isPrime(int i);void ZhiYinShu(int heShu);int main() { int a = 0; printf("请输入一个整数,范围[2,100000]:"); scanf_s("%d", &a); if (isPrime(a)) { printf("是素数:%d\n",a); } else { ZhiYinShu(a); } system("pause"); return 0;}int isPrime(int i) { int ret = 1; for (int k = 2; k < i - 1; k++) { if (i%k == 0) { ret = 0; break; } } return ret;}void ZhiYinShu(int heShu) { printf("%d=", heShu); while (heShu != 1) { for (int i = 2; i <= heShu; i++) { if (isPrime(i) && (heShu%i == 0)) { //printf("a1 = %d, i1 = %d\n", heShu, i); printf("%d", i); heShu = heShu / i; i = 1;//重置循环,使下次循环从第一个素数2开始尝试,这样则可保证从小到大排列质因数 //打印质因数中间的乘号,如果到最后则打印换行符 if (heShu != 1) { printf("x"); } else { printf("\n"); } } } }}
0 0
- C语言入门-第六周:作业01
- C语言入门-第六周:作业02
- C语言入门-第二周:作业01
- C语言入门-第三周:作业01
- C语言入门-第五周:作业01
- C语言入门-第七周:作业01
- C语言入门-第八周:作业01
- C语言第六堂作业
- [Coursera 计算导论与C语言基础] 第六周作业
- C语言入门-第一周:作业01
- C语言入门-第四周:作业01
- C语言入门-第二周:作业02
- C语言入门-第三周:作业02
- C语言入门-第七周:作业02
- C语言入门-第八周:作业02
- C语言第六堂课后作业
- C语言第六堂课后作业
- C语言第六次作业练习
- 【推荐】两大APP与云账户红包SDK集成详情及Demon分享
- BZOJ【1081】超级格雷码
- 数据存储——Java数组,去掉重复值、增加、删除数组元素的实现方法
- View位置参数与滑动全解析
- startActivity()、startActivityForResult()、onActivityResult()有什么联系和区别?
- C语言入门-第六周:作业01
- 按钮点击不起作用和点击一次执行两次问题解决
- Java基础知识点整理Day_04
- C语言之基本数据类型
- Xcode7-“App Transport Security has blocked a cleartext HTTP (http://) resource load since it is inse
- top命令详解
- Android工具方法
- Hessian、webservice、RESTFUL各自特点
- MySQL数据库表修复 MyISAM