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(""); } } }