题目描述格式
输入输出 样例
输入数据 1输出数据 1 分析
求最小值求最大值 CODE(c++)
题目 题目描述
给出一个有 N 位的整数,并且各位数的和也是 N,求满足条件的最小、最大的 N 位的整数分别是多少。
格式 输入共一行有一个正整数 N。1<=N<=1000
输出输出共两行,第一行为最小的 N 位整数,第二行为最大的 N 位整数
样例 输入数据 16输出数据 1
100005 600000
分析 求最小值
根据小学比大小知识,可得知:让这个数首位为1时,这个数最小,然后从末位开始赋值,赋值得越大,这个数越大。
求最大值同求最小值,从首位开始,赋值得越大,这个数越大。
CODE(c++)
#includeusing namespace std; int n,sumx,sumd,x[1003],d[1003]; int main(){ scanf("%d",&n); x[1]=1,sumx=n-1,sumd=n; for(int i=n;i>=2;i--){ if(sumx>9) x[i]=9,sumx-=9; else{ x[i]=sumx; break; } } for(int i=1;i<=n;i++){ if(sumd>9) d[i]=9,sumd-=9; else{ d[i]=sumd; break; } } for(int i=1;i<=n;i++)printf("%d",x[i]); printf("n"); for(int i=1;i<=n;i++)printf("%d",d[i]); return 0; }
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)