n位不重复的数字 - 爱问答

(爱问答)

n位不重复的数字

今天的数学课让你感到很无聊。于是你打算在纸上写下所有n位不含重复数字的数,来打发时间。
例如:你打算写6位数,那么你会写下127643;而123347含重复的3,你不会写下它。
你决定由小到大写出每个数,并且你不会考虑含前导0的n位数。
输入
输入一个数n,表示你打算写n位数。
输出
每行输出一个数,表示你所写下的n位数。
数据范围
对于100%的数据,1≤n≤8;
输入样例
1
输出样例








9

51nod的题,最后一个点可能会超时,采纳一下谢谢

#include<iostream>

#include<cstdio>

using namespace std;

int main() {

int n=0,a=0,b=0;

scanf("%d",&n);

if(n==1) a=1,b=9;

if(n==2) a=10,b=98;

if(n==3) a=102,b=987;

if(n==4) a=1023,b=9876;

if(n==5) a=10234,b=98765;

if(n==6) a=102345,b=987654;

if(n==7) a=1023456,b=9876543;

if(n==8) a=10234567,b=98765432;

for(int i=a; i<=b; i++) { //遍历所有n位数

int arr[10]= {0};

int index=0,num=i,flag=1;

while (num>0) { 

index = num % 10;

if (arr[index]) {

flag=0;

break;

}

arr[index]=1;

num/=10;

}

if(flag

printf("%d ",i);

}

return 0;

}

下一篇:vba获取上一个选择的单元格地址

上一篇:excel中如何实现根据数字对应出现类别

热门标签:
excel 网盘 破解 word dll
最新更新:
微软重新评估新的Outlook的使用时机 联想推出搭载联发科Helio G80芯片组的Tab M9平板 英特尔创新大赛时间确定! 微软Edge浏览器在稳定渠道中推出Workspaces功能 英伟达RTX4060TiGPU推出MaxSun动漫主题! 谷歌地图为用户提供了街景服务! GameSir 在T4 Kaleid中推出了一款出色的控制器! 微软开始在Windows 11 中测试其画图应用程序的新深色模式! LG电子推出全球首款无线OLED电视 英伟达人工智能芯片崭露头角! Steam Deck可以玩什么游戏-Steam Deck价格限时优惠 雷蛇推出CobraPro鼠标 Kindle电子阅读器可以访问谷歌商店吗 Windows10如何加入组策略 window10图片查看器怎么没有了?