本文共 971 字,大约阅读时间需要 3 分钟。
2016-2017 ACM中部地区的俄罗斯四分之一决赛编程比赛 H.非随机数 Vasya是一个学生,谁在玩一个随机数发生器和 注意到它永远不会生成具有等于的特定数字的值的数字 该数字在数字中的位置。 瓦西亚变得好奇,他来发现以下: 发生器接受的输入是一个正整数n - 生成的随机数中的位数。 输出是由n个数字组成的正整数 前导零。 在i位置(从左侧)生成的数字不能为 数字i。 例如,如果我们想要生成器生成一个单数字的数字,它会 生成除0或1以外的任何单位数字。如果是双位数字, 该输出将是除了10,11,12,13,14,15,16,17,18,19,22,32,42,43,44和50之外的任何值。 52,62,72,82或92。 小学生决定找出可以生成多少不同的数字 任何给定的n位数字。 你的任务是写一个程序,将帮助小学生解决这个问题。 限制 1≤n≤100。 输入 输入文件包含单个整数n - 生成的数字位数 随机数。 输出 输出文件必须包含一个整数 - 可能的随机数字ndigit 数字。输出必须没有前导零。 例子 Input.txt Output.txt 1 8 2 7212 344373768000
#include#include #include #include #define ll long long#define maxn 10467397using namespace std;int main(){ freopen("input.txt","r",stdin); freopen("output.txt","w",stdout); int n; ll ans; while(cin>>n) { ll ans=8; string data="344373768"; if(n<=9) { for(int i=2; i<=n; i++) { ans=ans*9; } cout< <
转载地址:http://jpali.baihongyu.com/