小米 oj 纯位数

- 纯位数

序号:#101难度:非常难时间限制:2000ms内存限制:20M

描述

在数学中,所谓“纯位数”是指由相同位元重复而组成的自然数。比如在十进制中,1,22,333,555 都是纯位数。 很显然,15 在十进制中不是一个纯位数,但是在二进制 15(10) = 1111(2) 却是一个纯位数。

一个显然的事实是,对于正整数 N,其在 N+1 进制中必然是一个一位数,也就必然是个纯位数。

对于一个正整数 N,试找出使其成为纯位数的最小进制 K。

输入

一个正整数 N (0 < N < 10^8)

输出

使 N 为纯位数的最小进制 K

输入样例

22
15

 复制样例

输出样例

10
2
#include<stdio.h>
#include<iostream>
#include<algorithm>
#include<string.h>
using namespace std;
typedef long long ll;
int n;
bool ok(int k)
{
    int N=n;
    int tmp=N%k;
    while(N%k==tmp)
    {
        N/=k;
    }
    return N==0;
}
int main()
{
    while(~scanf("%d",&n))
    {
        for(int i=2;i<=n+1;i++)
        {
            if(ok(i)){printf("%d\n",i);break;}
        }
    }
    return 0;
}

 

### XTU OJ 平台四位数问题解析 #### 题目描述 在XTU OJ平台上,存在一些涉及四位数处理的问题。这类题目通常要求对给定的四位整数执行特定操作或分析其属性。 #### 解决方案示例:判断素数并求和 对于某些四位数问题,可能涉及到判断一个四位数是否为素数,并对其进行求和运算。下面是一个具体的例子: ```cpp #include <iostream> using namespace std; int main() { int N = 10000; bool f[N]; // 存储是否为素数的结果 for (int i = 2; i < N; ++i) { f[i] = true; } for(int i = 2; i * i < N; ++i){ if(f[i]){ for(int j = i * i; j < N; j += i){ f[j] = false; } } } int sum = 0; for(int i = 1000; i < 10000; ++i){ if(f[i]) sum += i; } cout << "Sum of all prime numbers between 1000 and 9999 is: " << sum << endl; } ``` 此代码片段展示了如何利用埃拉托斯特尼筛法来找出所有的四位素数并将它们相加[^2]。 #### 字符串组合成“XTU”的最大数量 另一个常见的问题是给出一个字符串,询问可以从中选出多少组字符能够恰好拼凑出单词“XTU”。这个问题可以通过统计输入字符串中各个字母的数量来进行解决: ```python def max_xtu_combinations(s): count_x, count_t, count_u = s.count('X'), s.count('T'), s.count('U') return min(count_x, count_t, count_u) input_string = input() result = max_xtu_combinations(input_string) print(result) ``` 这段Python程序接收用户输入的一个字符串,并返回该字符串内可组成的“XTU”字样的最大数目[^1]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值