《C语言名题精选百则----11》
来源:互联网 发布:剑3正太捏脸数据 编辑:程序博客网 时间:2024/05/16 11:05
10题我给掠过了。
这是第11个题目:
我的答案:
#include<stdio.h>#define MAXSIZE 10000int main(){int n;int a[MAXSIZE] = {0};int i;int t;int j;int flag = 0;printf("Input number : ");scanf("%d",&n);t = n;for(i = 2;i <= t / 2;i++){while(n % i == 0){n = n / i;a[i]++;}}printf("%d == ",t);for(i = 0;i <= t / 2;i++){for(;a[i] > 0;a[i]--){if(!flag){printf("%d",i);flag = 1;}elseprintf("*%d",i);}}printf("\n");}
标准答案:
#include<stdio.h>#include<stdlib.h>#define MAXSIZE 100#define SAVE_FACTOR(fact,exp) {if(exp > 0)factors[count] = fact,exps[count++] = i;}int main(){unsigned long factors[MAXSIZE];unsigned long exps[MAXSIZE];unsigned long n,work;int count = 0;int i,k;char line[100], *dummy;gets(line);n = strtoul(line,&dummy,10);for(i = 0,work = n;(work & 0x01UL) == 0 && work > 1;work >>= 1,i++);SAVE_FACTOR(2,i);for(k = 3; k <= work;k += 2){for(i = 0; work % k == 0 && work > 1;work /= k,i++);SAVE_FACTOR(k,i);}printf("\n%ld = ",n);for(i = 0;i < count;i++){printf("%ld[%ld]",factors[i],exps[i]);}return 0;}
稍后研究。
- 《C语言名题精选百则----11》
- 《C语言名题精选百则----1》
- 《C语言名题精选百则----2》
- 《C语言名题精选百则----3》
- 《C语言名题精选百则----4》
- 《C语言名题精选百则----5》
- 《C语言名题精选百则----6》
- 《C语言名题精选百则----7》
- 《C语言名题精选百则----8》
- 《C语言名题精选百则----9》
- 《C语言名题精选百则----10》
- 《C语言名题精选百则----12》
- 《C语言名题精选百则----13》
- 《C语言名题精选百则----14》----查找长方形
- C语言名题精选百则——排列,组合与集合
- C语言名题精选百则:所有子集,字典子集,Gray子集
- C语言好帖精选
- 精选C语言学习网站
- 定制Linux 一
- win7蓝屏后自动重启的启示
- Linux系统下history命令的记录如何删除
- Windows下下载Android源代码,eclipse中关联android源代码
- 易混淆的知识点学习记录1
- 《C语言名题精选百则----11》
- Maven学习笔记(一) 安装和构建简单应用
- java之构造方法
- Tomcat 6.0配置Mysql数据库连接池
- 不同电脑的iTunes音乐和应用同步方法
- 算法设计中的排列问题
- Unix script - 14 hints and tips
- Eclipse上GIT插件EGIT使用手册之二_使用EGIT前的配置
- 对STL容器线程安全性的期待现实一些