Ones

本文探讨了一个有趣的数学问题:对于任意一个不被2或5整除的正整数n,其存在某个倍数仅由数字1组成。文章提供了一种通过模运算寻找该倍数最小位数的有效算法,并附带完整的C++代码实现。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

这题通过团友以及百度的翻译,同时还参照了 http://blog.youkuaiyun.com/yming0221/article/details/6370117  意思基本上清楚了:输入一个不能被2或者5的数,输出这个数的倍数的最小位数,这个倍数全部由1组成

描述

Given any integer 0 <= n <= 10000 not divisible by 2 or 5, some multiple of n is a number which in decimal notation is a sequence of 1's. How many digits are in the smallest such a multiple of n?

输入

Each line contains a number n.

输出

Output the number of digits.

样例输入

3
7
9901

样例输出

3
6
12
#include<iostream>
using namespace std;
int fun(int n)//按常规的方法肯定会超时,在这里我们可以用mod的方法进行计算
{
    int c=0,m=n;
    while(n)
    {
        n=n*10+1;
        c++;
        n%=m;
    }
    return c;
}
int main()
{
    int n;
    while(cin>>n)
    {
        cout<<fun(n)<<endl;
    }
    return 0;
}


 

 

### MATLAB 中 `ones` 函数的使用 在 MATLAB 中,`ones` 是一个用于创建全为 1 的数组或矩阵的内置函数[^1]。以下是关于该函数的一些重要特性和用法: #### 基本语法 最简单的形式是通过指定维度来生成一个由 1 组成的矩阵。例如: ```matlab A = ones(n); ``` 这会返回一个 n×n 的方阵,其中所有的元素均为 1。 如果需要定义不同大小的二维矩阵,则可以采用如下方式: ```matlab B = ones(m, n); ``` 这里 m 和 n 分别代表行数和列数,从而得到一个 m 行 n 列的矩阵 B,其所有元素都初始化为 1[^2]。 对于更高维的情况,比如三维或者更多维度的数据结构也可以轻松实现: ```matlab C = ones([d1 d2 ... dn]); ``` 此命令将建立一个多维数组 C,尺寸分别为 d1 × d2 × … × dn ,并且填充数值皆设为 1[^3]。 #### 数据类型的控制 默认情况下,`ones` 创建的是双精度浮点型 (`double`) 数组;然而,可以通过额外参数调整目标数据类型。例如要获得单精度浮点型的结果可写成这样: ```matlab D = ones(3,'single'); ``` 另外值得注意的一点是当输入参数本身是一个向量而非单独整数时,它会被解释为目标输出形状的一个描述符而不是简单重复次数指示器[^4]。 以上就是有关于如何利用MATLAB中的`ones()`函数去构建特定规格含有唯一值‘1’之多维空间对象的知识要点总结。 ```matlab % 示例代码展示各种调用模式下的效果对比 disp('Creating a square matrix of size 4:'); squareMatrix = ones(4); % A 4-by-4 array filled with ones. disp(squareMatrix); disp('Generating an arbitrary rectangular matrix (e.g., 3 rows and 5 columns):'); rectangularMatrix = ones(3, 5); % An example non-square case. disp(rectangularMatrix); disp('Building higher dimensional arrays such as cubes or hypercubes.'); cubeArray = ones([3 3 3]); % Three-dimensional cube made up entirely out of unitary entries. disp(cubeArray(:,:,1)); % Displaying just one slice along third axis. disp('Specifying custom data types during creation process.'); customTypeArray = ones(2, 'uint8'); % Unsigned integer type specification here. disp(customTypeArray); ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值