注册 登录
编程论坛 数据结构与算法

以手机号为码分解因式,组成相应的密码。

qunxingw 发布于 2012-09-10 21:43, 779 次点击
想以手机号码分解因式,组成相应密码,但不能超9位数,求提供思路?
#include<iostream>
using namespace std;
int i,num ;

int main()
{
 cout<<"请输入1个小于9位的数"<<endl;
 cin>>num;
 cout<<"因式为如下:"<<endl;
  for (i=2; i<num; i++)
  {
    while (num%i==0 && num!=i)
    {
     num=num/i;
   
     cout<<i<<endl;

    }

  }
cout<<num<<endl;
 
  system("pause");
  return 0;

}
8 回复
#2
pangding2012-09-11 09:30
把 num 定义为 long long 就可以了。

[ 本帖最后由 pangding 于 2012-9-11 09:36 编辑 ]
#3
qunxingw2012-09-11 11:19
非常感谢!在迷失的大海中隐约见到地平线,上手机一看,原来这里还点着一盏明灯。
#4
qunxingw2012-09-12 06:49
unsigned long num;
此定义可以计算10位数的因式,但手机号还是不能,
long  OR int 定义 可以计算10位数的因式。
#5
qunxingw2012-09-12 20:58
long long 编译通不过,请大神们帮我继续想些办法吧。如果是更大的数要分解因式,又该怎样处理用大数据?
#6
pangding2012-09-12 22:19
回复 5楼 qunxingw
int64 这个关键字你的编译器认识吗?楼主用的什么编译器?
#7
qunxingw2012-09-12 23:19
vc6
#8
pangding2012-09-12 23:26
以下是引用qunxingw在2012-9-12 23:19:45的发言:

vc6

http://baike.baidu.com/view/1235293.htm
#9
qunxingw2012-09-12 23:54
谢谢了。
1