1、一、统计数字问题(1)题目描述一本书的页码从自然数 1 开始顺序编码直到自然数 n。书的页码按照通常的习惯编排,每个页码都不含多余的前导数字 0。例如,第 6 页用数字 6 表示,而不是 06 或 006 等。数字计数问题要求对给定书的总页码 n,计算出书的全部页码中分别用到多少次数字0,1,2,9。现在给定书的总页码十进制整数 n (1n109) 。编程计算书的全部页码中分别用到多少次数字 0,1,2,9。(2)输入要求输入只有 1 行,给出表示书的总页码的整数 n。(3)输出要求输出共有 10 行,在第 k 行输出页码中用到的数字 k-1 及其出现的次数。(4)样例输入11(5)样例输出0
2、 11 42 13 14 15 16 17 18 19 1#includeusing namespace std;int main()int a10 = 0,0,0,0,0,0,0,0,0,0 ;int i, j, k;int n;cout n;for (i = 1; i using namespace std;int hanshu(int a)int n=0;for(;a!=1;n+)if(a%2=1)a=3*a+1;if(a%2=0)a=a/2;return n;int xiegula(int a)int n;n=hanshu(a);if(n%2=0)return 1;elsereturn
3、 0;int main()int a500,i,n;coutn;coutai;for(i=0;iusing namespace std;int n;void swap(int *a,int *b)int t;t=*a;*a=*b;*b=t;void shuchu(int a)int i;for(i=0;in;coutai;cout#includeusing namespace std;void paixu(int* a,int n) int temp;int i;int j;for(i=0;i=aj+1) temp=aj+1;aj+1=aj;aj=temp;int kebukeyishuchu
4、(int shu,int n)int a8,i,j,sum=0;bool kebukeyi=true;for(i=0;in;coutai;paixu(a,n);coutusing namespace std;int main()int i,t,n;coutn;t=1;for(i=1;iusing namespace std;int main()int a100,b100;int n,i,j,k;cinn;bool chuangzuishao=true;for(i=0;iai;for(k=2;k+)chuangzuishao=true;for(i=0;i#includeusing namespa
5、ce std;int shuzhi(int a,int b)int i,t=0;for(i=0;a/10!=0|a%10!=0;a=a/10,i+)t=t+a%10*pow(b,i);return t;int ceshi(int p,int q,int r)int B,t=0,a,b,c;for(B=2;Bn;for(i=0;iaij;for(i=0;iusing namespace std;int main()int N,i,j,k;char a2100;int b100100;int c100100;cinN;for(;N!=0;)bool xiangshi=true;for(i=0;ia
6、ij;for(i=0;iN;return 0;这个题是没有问题的。九、团伙(1)题目描述在某城市里住着 N 个人,任何两个认识的人不是朋友就是敌人,而且满足:1、我朋友的朋友是我的朋友;2、我敌人的敌人是我的朋友;所有是朋友的人组成一个团伙。告诉你关于这 N 个人的 M 条信息,即某两个人是朋友,或者某两个人是敌人,请你编写一个程序,计算出这个城市最多可能有多少个团伙?(2)输入要求第一行包含一个整数 N,第二行包含一个整数 M,1using namespace std;int main()int i,N,j,M,k,b100,tuanhuoshu=0,h;int min,max;char a
7、100;int c1002;cinNM;for(i=0;iai;for(j=0;jcij;for(i=0;ici1?ci0:ci1;bmin-1=bmin-1+bmax-1;bmax-1=0;for(i=0;icj1-h)bcj1-h-1+=bci1-k-1;bci1-k-1=0;if(ci1-kusing namespace std;int main()int N,M,i,j,day=0,wokeyixuede=0,xuefen=0;cinNM;int a503;bool shijianbugoule=false;for(i=0;iaij;for(;shijianbugoule=false;)bool shijianbugoule=true;for(i=0;iN;i+)if(ai0=wokeyixuede|ai0=wokeyixuede+1)day=day+ai1;xuefen=xuefen+ai2;break;for(j=0;jN;j+)if(wokeyixuede!=aj0if(day+aj1M)shijianbugoule=false;break;if(wokeyixuede!=aj0coutxuefenendl;return 0;这样并不能求最大。中间应该是有个 BUG。