NC14736. 双拆分数
描述
输入描述
输入仅一行一个正整数 n(1 <= n <= 300)。
输出描述
仅一行一个数字串或者 -1。
示例1
输入:
8
输出:
24419764
C++(g++ 7.5.0) 解法, 执行用时: 2ms, 内存消耗: 432K, 提交时间: 2023-03-06 20:12:04
#include <bits/stdc++.h> using namespace std; int main() { int n; scanf("%d",&n); if(n<=3) puts("-1"); else { if(n%2==0) printf("1144"),n-=4; else printf("16400"),n-=5; while(n--) printf("0"); printf("\n"); } return 0; }
C++11(clang++ 3.9) 解法, 执行用时: 2ms, 内存消耗: 384K, 提交时间: 2017-12-22 19:18:28
#include <cstdio> int main() { int n; scanf("%d",&n); if(n<=3) puts("-1"); else { if(n%2==0) printf("1144"),n-=4; else printf("16400"),n-=5; while(n--) printf("0"); printf("\n"); } return 0; }
Python(2.7.3) 解法, 执行用时: 34ms, 内存消耗: 4440K, 提交时间: 2017-12-23 21:22:32
from fractions import * n = input() if n < 4: print -1 elif n % 2 == 0: print 1144 * 10 ** (n - 4) else: print 164 * 10 ** (n - 3) exit()
Python3(3.5.2) 解法, 执行用时: 30ms, 内存消耗: 3432K, 提交时间: 2020-04-17 23:37:45
n = int(input()) if n<=3: print(-1) elif n%2 == 0: print(1144*10**(n-4)) else: print(16400*10**(n-5))