13:大整数的因子

13:大整数的因子

总时间限制: 
1000ms

内存限制: 
65536kB
描述

已知正整数k满足2<=k<=9,现给出长度最大为30位的十进制非负整数c,求所有能整除c的k。

输入
一个非负整数c,c的位数<=30。
输出
若存在满足 c%k == 0 的k,从小到大输出所有这样的k,相邻两个数之间用单个空格隔开;若没有这样的k,则输出"none"。
样例输入
30
样例输出
2 3 5 6
  • 查看
  • 提交
  • 统计
  • 提问
    #include<iostream>
    #include<cstdio>
    #include<string>
    #include<cstring>
    #include<algorithm>
    #include<cmath>
    using namespace std;
    char s[31];
    int main()
    {
    	int yv=0,q=0;
    	scanf("%s",s);
    	int l=strlen(s);
    	for(int i=2;i<=9;i++)
    	 {
    	 	yv=0;
    	 	for(int j=0;j<l;j++)
    	 	 {
    	 	 	yv=yv*10+(s[j]-‘0‘);
    	 	 	yv=yv%i;
    		  }
    		  if(yv==0)
    		   {
    		   	cout<<i<<" ";
    		   	q=1;
    		   }
    	 }
    	 if(q==0)
    	  {
    	  	cout<<"none";
    	  }
    	 return 0;
    }
时间: 2024-10-29 20:25:23

13:大整数的因子的相关文章

13:大整数的因子(NOIP)

/* 13:大整数的因子 总时间限制: 1000ms 内存限制: 65536kB 描述 已知正整数k满足2<=k<=9,现给出长度最大为30位的十进制非负整数c,求所有能整除c的k. 输入 一个非负整数c,c的位数<=30. 输出 若存在满足 c%k == 0 的k,从小到大输出所有这样的k,相邻两个数之间用单个空格隔开: 若没有这样的k,则输出"none". 样例输入 30 样例输出 2 3 5 6 */ #include <bits/stdc++.h>

AC日记——大整数的因子 openjudge 1.6 13

13:大整数的因子 总时间限制:  1000ms 内存限制:  65536kB 描述 已知正整数k满足2<=k<=9,现给出长度最大为30位的十进制非负整数c,求所有能整除c的k. 输入 一个非负整数c,c的位数<=30. 输出 若存在满足 c%k == 0 的k,从小到大输出所有这样的k,相邻两个数之间用单个空格隔开:若没有这样的k,则输出"none". 样例输入 30 样例输出 2 3 5 6 思路: 模拟: 来,上代码: #include<cstdio&g

题目1125:大整数的因子 C++/Java

题目描述: 已知正整数k满足2<=k<=9,现给出长度最大为30位的十进制非负整数c,求所有能整除c的k. 输入: 若干个非负整数c,c的位数<=30 每行一个c,当c=-1时中止 (不要对-1进行计算!) 输出: 每一个c的结果占一行 1) 若存在满足 c%k == 0 的k,输出所有这样的k,中间用空格隔开,最后一个k后面没有空格. 2) 若没有这样的k则输出"none" 样例输入: 30 72 13 -1 样例输出: 2 3 5 6 2 3 4 6 8 9 no

大整数的因子

总时间限制:  1000ms 内存限制:  65536kB 描述 已知正整数k满足2<=k<=9,现给出长度最大为30位的十进制非负整数c,求所有能整除c的k. 输入 一个非负整数c,c的位数<=30. 输出 若存在满足 c%k == 0 的k,从小到大输出所有这样的k,相邻两个数之间用单个空格隔开:若没有这样的k,则输出"none". 样例输入 30 样例输出 2 3 5 6 代碼實現: 1 #include<cstdio> 2 #include<

1171:大整数的因子

传送门:http://ybt.ssoier.cn:8088/problem_show.php?pid=1171 [题目描述] 已知正整数k满足2≤k≤9,现给出长度最大为30位的十进制非负整数c,求所有能整除c的k. [输入] 一个非负整数c,c的位数≤30. [输出] 若存在满足 c%k == 0 的k,从小到大输出所有这样的k,相邻两个数之间用单个空格隔开:若没有这样的k,则输出"none". [输入样例] 30 [输出样例] 2 3 5 6 虽然可以直接根据关系求出但我还是用高精

大整数因子(高精mod)

大整数的因子 总时间限制:  1000ms 内存限制:  65536kB 描述 已知正整数k满足2<=k<=9,现给出长度最大为30位的十进制非负整数c,求所有能整除c的k. 输入 一个非负整数c,c的位数<=30. 输出 若存在满足 c%k == 0 的k,从小到大输出所有这样的k,相邻两个数之间用单个空格隔开:若没有这样的k,则输出"none". 样例输入 30 样例输出 2 3 5 6 代码 高精模运算 #include<iostream> #inc

大整数算法[13] 单数位乘法

★ 引子 最近在折腾 wxWidgets,同时拖延症又犯了,所以中断了好久.这次来讲讲单数位乘法,前面讲到 Comba 和 Karatsuba 乘法,这两个算法适合用来处理比较大的整数,但是对于一个大整数和一个单精度数相乘,其效果反而会不好,因为计算量过多.实际上单数位乘法只是基线乘法的一个特例,不存在嵌套循环进位,因此可以通过优化减少计算量.另外与完整的乘法不同的是,单数位乘法不需要什么临时变量存储和内存分配(目标精度增加除外). ★ 算法思路         单数位乘法类似于计算 12345

Miller-Rabin 素性测试 与 Pollard Rho 大整数分解

\(\\\) Miller-Rabin 素性测试 考虑如何检验一个数字是否为素数. 经典的试除法复杂度 \(O(\sqrt N)\) 适用于询问 \(N\le 10^{16}\) 的时候. 如果我们要把询问范围加到 \(10^{18}\) ,再多组询问呢? Miller 和 Rabin 建立了Miller-Rabin 质数测试算法. \(\\\) Fermat 测试 首先我们知道费马小定理: \[ a^{p-1}\equiv 1\pmod p \] 当且仅当 \(p\) 为素数时成立. 逆命题是

初涉算法——大整数类

处理方法:用数组存储整数. C++好处:重载运算符,使大整数类可以像int一样使用. 结构体BigInteger可用于储存高精度非负整数: 1 #include<cstdio> 2 #include<cstring> 3 #include<vector> 4 #include<iostream> 5 using namespace std; 6 7 struct BigInteger { 8 static const int BASE = 100000000