编程之美2.8 找符合条件的整数 求十进制表示只含1和0的正整数

来源:互联网 发布:睿知而行 编辑:程序博客网 时间:2024/05/22 14:47
#include<iostream>#include<vector>using namespace std;vector<int> minzeroone(int N){int i,j,noupdate=0;vector< vector<int> > bigint;vector<int> mvec;for(i=0;i<N;i++)bigint.push_back(mvec);bigint[1].push_back(0);for(i=1,j=10%N;;i++,j=(j*10)%N){bool flag=false;if(bigint[j].size()==0){bigint[j].clear();bigint[j].push_back(i);flag=true;}for(int k=1;k<N;k++){if(bigint[k].size()>0 && bigint[(k+j)%N].size()==0 && i>bigint[k][bigint[k].size()-1]){bigint[(k+j)%N]=bigint[k];bigint[(k+j)%N].push_back(i);flag=true;}}if(flag==false) noupdate++;else noupdate=0;if(noupdate==N||bigint[0].size()>0)break;}return bigint[0];}int main(){vector<int>a=minzeroone(3);for(vector<int>::iterator vec=a.begin();vec!=a.end();vec++){cout<<*vec<<" ";}cout<<endl;}

原创粉丝点击