这道题真是“天赐水题”,说真的我刚看到数据范围是快把我给吓死 ……
数据范围:(1<=n<=100,2<=t<=10 )
最多整整100位,不过幸好是随便输出一个,又让我找回来水题的感觉……
好,废话少说先看一下题目 题目传送门
题目分析:
一共有2种可能:
- k是个位数(即1、2、3、4、5、6、7、8、9)
- k是两位数(即10)时
C++代码:
#include<bits/stdc++.h>
using namespace std;
int main(){
int n,t;
cin>>n>>t;
if(t==10){
if(n==1){
cout<<-1;
return 0;
}
cout<<1;
for(int i=1;i<n;i++){
cout<<0;
}
}else{
for(int i=1;i<=n;i++){
cout<<t;
}
}
return 0;
}
C语言代码:
#include<stdio.h>
using namespace std;
int main(){
int n,t;
scanf("%d %d",&n,&t);
if(t==10){
if(n==1){
printf("-1");
return 0;
}
printf("1");
for(int i=1;i<n;i++){
printf("0");
}
}else{
for(int i=1;i<=n;i++){
printf("%d",t);
}
}
return 0;
}
思路:
- k是个位数(即1、2、3、4、5、6、7、8、9)时:n是几就输出几个k
- k是两位数(即10)时:如果此时n>=2,那么输出一个1,其余都输出0,否则无解,输出-1