A. Olesya and Rodion
time limit per test
1 second
memory limit per test
256 megabytes
input
standard input
output
standard output
Olesya loves numbers consisting of n digits, and Rodion only likes numbers that are divisible by t. Find some number that satisfies both of them.
Your task is: given the n and t print an integer strictly larger than zero consisting of n digits that is divisible by t. If such number doesn't exist, print - 1.
Input
The single line contains two numbers, n and t (1 ≤ n ≤ 100, 2 ≤ t ≤ 10) — the length of the number and the number it should be divisible by.
Output
Print one such positive number without leading zeroes, — the answer to the problem, or - 1, if such number doesn't exist. If there are multiple possible answers, you are allowed to print any of them.
Sample test(s)
input
3 2
output
712
题目大意:
给定两个数n和t,分别表示有 n 位数和能够被 t 整除,输出这样一个数有 n 位数,
而且还能被 t 整除的数;
解题思路:
分析一下,因为 t 的范围是 [2 , 10], 所以,只需要找到 t ,然后输出 n-1 个0就行了,
但是还要特殊判断 10 ,因为还有可能不被整除的时候
上代码:
#include <iostream>
#include <cstdio>
#include <cstring>
#include <cstdlib>
#include <cmath>
#include <vector>
#include <queue>
#include <algorithm>
#include <set>
using namespace std;
#define MM(a) memset(a,0,sizeof(a))
#define MM1(a) memset(a, false, sizeof(a))
typedef long long LL;
typedef unsigned long long ULL;
const int maxn = 1e3+5;
const int mod = 1000000007;
const double eps = 1e-7;
const double pi = 3.1415926;
int main()
{
int n,t;
while(cin>>n>>t)
{
if(t == 10)
{
if(n == 1)
puts("-1");
else
{
cout<<'1';
for(int i=0; i<n-1; i++)
cout<<'0';
puts("");
}
}
else
{
cout<<t;
for(int i=0; i<n-1; i++)
cout<<'0';
puts("");
}
}
}