首页 > 学院 > 开发设计 > 正文

1125_大整数的因子

2019-11-14 12:06:15
字体:
来源:转载
供稿:网友
// 1125_大整数的因子.cpp : 定义控制台应用程序的入口点。//题目1125:大整数的因子//时间限制:1 秒内存限制:32 兆特殊判题:否提交:1114解决:581//题目描述://已知正整数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//none//提示://注意整数溢出问题//不要对-1进行计算//来源://2008年北京大学方正实验室计算机研究生机试真题#include "stdafx.h"#include "stdio.h"#include "iostream"#include "string"using namespace std;int main(){ string num; while(cin>>num&&num != "-1"){ int zero_flag =0; int first_flag = 0; for (int k=2;k<=9;k++){ int i = 0; int digit,remain =0; while(i<num.length()){ digit = 10 * remain + (num[i] - '0'); remain = digit - digit/k*k; i++; } if(!remain%k){ zero_flag = 1; if (!first_flag){ cout<<k; first_flag = 1; } else cout<<" "<<k; } } if(!zero_flag) cout<<"none"; cout<<endl; } return 0;}
发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表