1. Job Roadmap
  2. Home
  3. Problem Set
  4. codenotelist
  5. Forum
  6. course
  7. Shore Share Sessions
  8. Record
  1. Login
  2. Sign Up
  3. Language
    1. English
    2. 한국어
    3. 简体中文
    4. 正體中文
    ZhContent TextSol AI分析

思路

这个问题的核心是生成 xxx 的各位数字的全排列,并对每个排列出的数字进行验证。由于 xxx 的最大值为 10910^9109,它最多有 101010 位数字。101010 个不同数字的全排列数量是 10!10!10!(约为 360360360 万),这是一个在现代计算机上可以接受的计算量。因此,我们可以采用直接模拟的方法:生成所有排列,然后逐一检查。

具体思路步骤如下:

  1. 预处理:

    • 将整数 xxx 转换为数字字符的集合(例如,字符串或字符数组),方便进行排列操作。设其长度为 NNN。

P3645.第2题-数组重排

    1000ms Tried: 47 Accepted: 13 Difficulty: 5 所属公司 : 蚂蚁
    算法与标签>暴力枚举

题目内容

小红给定一个数字 xxx ,现在她准备把其数位上的数字重新排列,满足重排后的数字没有前导零并且和原数字不同,例如 x=213x=213x=213 ,重排后可以是 [123,132,231,312,321][123,132,231,312,321][123,132,231,312,321],但不能是 213213213 ,因为和原数字相同。例如 x=224x=224x=224 ,重排后一共有 [242,422][242,422][242,422] ,两种可能。又例如 101010 ,其不存在符合要求的重排后的数字,因为仅存在 [10,01][10,01][10,01] ,和原数字相同或存在前导 000 ,都不构成合法数字。

现在请你帮助小红计算有多少个重排后的数字 yyy,使得 gcd(x,y)≠1gcd(x,y)≠ 1gcd(x,y)=1 。

gcdgcdgcd ,即最大公约数,指两个整数共有约数中最大的一个。例如,121212 和 303030 的公约数有 1,2,3,61,2,3,61,2,3,6 ,其中最大 约数是 666 ,因此 gcd(12,30)=6gcd(12,30)=6gcd(12,30)=6 。

输入描述

一个整数 x(1≦x≦109)x(1 ≦ x ≦ 10^9)x(1≦x≦109) ,表示给定的数字。

输出描述

一个整数,表示满足条件的重排数字的数量。

样例1

输入

213

输出

5

样例2

输入

10

输出

0

样例3

输入

224

输出

2

登录后即可使用 AI 分析。

模式
倒计时时长
:

最长 10 小时 59 分;应用后按此时长重新开始。

提示:点击提交记录在左侧题面区域查看详情
题库
AI分析设置
留空使用官方API Key,每天有次数限制(自定义API Key仅限会员和管理员使用,不限次数)
会员和管理员可切换模型;切到 Kimi/智谱/通义/豆包时需填写对应供应商 API Key
升级会员,可将运行与提交冷却时间缩短至 1 秒起

Status

  • Judging Queue
  • Service Status

Development

  • Open Source

Support

  • Help
  • Contact Us

About

  • About
  • Privacy
  • Terms of Service
  • Copyright Complaint
  1. Language
    1. English
    2. 한국어
    3. 简体中文
    4. 正體中文
  2. Legacy mode
  3. Theme
    1. Light
    2. Dark
  1. 京ICP备2025123107号-1
  2. Worker 1, 48ms
  3. Powered by Hydro v5.0.0-beta.18 Community
CLOSE


ScanQRCodePrompt

请使用微信扫描下方二维码完成注册

Forgot password or username?