本文主要是介绍1171,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
1171:大整数的因子
时间限制: 1000 ms 内存限制: 65536 KB
提交数: 5786 通过数: 3353
【题目描述】
已知正整数k满足2≤k≤9,现给出长度最大为30位的十进制非负整数c,求所有能整除c的k。
【输入】
一个非负整数c,c的位数≤30。
【输出】
若存在满足 c%k == 0 的k,从小到大输出所有这样的k,相邻两个数之间用单个空格隔开;若没有这样的k,则输出"none"。
【输入样例】
30
【输出样例】
2 3 5 6
【来源】
No
提交 统计信息 提交记录
#include <iostream>
#include<cstring>
#include<cstdio>
using namespace std;int main()
{char a[32]; //存的被除数int flag=0,t,la; //flag表示是否有被除数的因子;t表示除后的余数gets(a);la=strlen(a);for(int i=2;i<=9;i++) //除数从2循环到9{t=0;for(int j=0;j<la;j++) //被除数从左向右依次被除{if(a[j]-'0'+t>=i) //当前位数够除时{t=((a[j]-'0'+t)%i)*10; //除法处理,余数t等于当前位数加上上一个余数除以除数然后乘以10}else //当前位数不够除时{t=(a[j]-'0')*10; //余数直接等于当前数乘以10}}if(t==0) {cout<<i<<' ';flag=1; //只要有一个除数可以完成被被除数整除就等于1}}if(flag==0){cout<<"none";}return 0;
}
这篇关于1171的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!