1171:大整数的因子
【题目描述】
已知正整数k满足2≤k≤9,现给出长度最大为30位的十进制非负整数c,求所有能整除c的k。
【输入】
一个非负整数c,c的位数≤30。
【输出】
若存在满足 c%k == 0 的k,从小到大输出所有这样的k,相邻两个数之间用单个空格隔开;若没有这样的k,则输出"none"。
分析:
代码:
#include <iostream>
using namespace std;
const int LN=31;
int a[LN];
bool modnum(int a[],int n){
int x=0;
for(int i=1;i<=a[0];i++)
x=(x*10+a[i])%n;//对余数处理
return x;
}
int main(){
string s;
cin>>s;
int d=0;
a[0]=s.length();
for(int i=1;i<=a[0];i++) a[i]=s[i-1]-'0';
for(int i=2;i<=9;i++)
if(!modnum(a,i)) {
cout<<i<<" ";d=1;
}
if(!d) cout<<"none";
return 0;
}
结果:
【输入样例】
30
【输出样例】
2 3 5 6
【来源】
No
该博客主要讨论如何找出长度最多30位的非负整数的因子,具体包括问题描述、输入输出格式以及可能的解决方案。对于给定的整数c,需要找到所有2到9之间的整数k,使得c能被k整除。样例输入和输出展示了当c为30时,其因子包括2, 3, 5和6。"
121903229,10761369,蓝牙通信:从API到实战,"['网络', '蓝牙通信', 'Android开发', '服务器', '运维']
305

被折叠的 条评论
为什么被折叠?



