穷举n位二进制数
来源:互联网 发布:歧视知乎 编辑:程序博客网 时间:2024/04/29 13:36
本科生大二菜鸟一枚,最近上算法分析课老师出了道题,要求再输入一个小于20的正整数n的条件下穷举出n位二进制数。
做这道题的时候很容易想到的就是用10进制转成二进制数的常用方法,然后循环列举就行了。代码如下:
#include<stdio.h>#include<math.h>int main(){ int a,n,i,j,k,A[20];scanf("%d",&n);if(n>20||n<1)printf("输入错误!");for(i=0;i<pow(2,n);i++){ a=i; for(j=1;j<=n;j++){A[j-1]=a%2;a=a/2;}for(k=n-1;k>=0;k--){printf("%d",A[k]);}printf("\n");} return 0; }
然后还有一种就是学了回溯算法之后的基本模板改过来了,如下:
#include <stdio.h>#include <iostream.h>#include <math.h>int n,c[20];void search(int m){int i;if(m==n){for (i=0;i<n;i++){printf("%d",c[i]);}printf("\n");}else {c[m]=0;search(m+1);c[m]=1;search(m+1);}}int main() { int m=0; scanf("%d",&n); search(m); return 0; }
以上。
作为大二学生的自我分享平台。
0 0
- 穷举n位二进制数
- 穷举n位二进制数
- 穷举n位二进制数
- 穷举n位二进制数
- 穷举n位二进制数
- NWPU-NOJ-穷举n位二进制数
- NOJ 1323 穷举n位二进制数
- 1323穷举n位二进制数
- C语言 穷举n位二进制数
- 穷举n位二进制
- 穷举n位二进制
- 算法练习-NOJ-1323-穷举n位二进制数
- noj算法题——穷举n位二进制数
- 回朔法——穷举n位二进制数
- C++——穷举n位二进制数
- <C语言>用递归调用函数解决穷举n位二进制数问题
- 两个n位二进制数相加
- 2^N位二进制数的奇偶校验算法
- 鸟哥私房菜网络工具使用整理
- 《设计模式》—工厂方法模式
- 三、struts2.0国际化
- HDOJ 题目1159 Common Subsequence(LCS)
- Linux正则表达式使用指南
- 穷举n位二进制数
- C语言中的整型提升与混合类型数据的运算
- 软件中写日志
- HelloWorld
- 字符串反转+ 大数相加 + IP分类
- 修改BIOS识别U盘启动
- python 的日志logging模块学习
- #pragma pack(n) 设置内存对齐
- Python数据结构与算法设计(总结篇)