1171:大整数的因子
时间限制: 1000 ms 内存限制: 65536 KB
提交数: 12689 通过数: 7368
【题目描述】
已知正整数k满足2≤k≤9,现给出长度最大为30位的十进制非负整数c,求所有能整除c的k。
【输入】
一个非负整数c,c的位数≤30。
【输出】
若存在满足 c%k == 0
的k,从小到大输出所有这样的k,相邻两个数之间用单个空格隔开;若没有这样的kk,则输出"none
"。
【输入样例】
30
【输出样例】
2 3 5 6
【源代码】
#include<iostream>
#include<cstring>
#include<cstdio>
using namespace std;
int main()
{
char c[31];
int x,len,flag=0;
scanf("%s",c);
len=strlen(c);
for(int k=2;k<=9;k++)
{
x=0;
for(int j=0;j<len;j++)
{
x=x*10+(c[j]-'0');
x%=k;
}
if(x==0)
{
flag=1;
cout<<k<<" ";
}
}
if(!flag) cout<<"none";
return 0;
}