质数变换

来源:百度知道 编辑:UC知道 时间:2024/06/30 10:45:55
输入两个4位质数 A B
要求每次换一位数字,在最小步数内,由A换成B,且每变换一位,新数也为质数。
求最小步数。
要源程序。
例子:
1033
1733
3733
3739
3779
8779
8179

由1033到8179

我做出来了,看我的博客
http://blog.csdn.net/fangguanya
代码如下:
使用vs2005编的,我的百度知道账号:fangguanya被 黑了..

// test.cpp : Defines the entry point for the console application.
//

#include "stdafx.h"
#include <iostream>
#include <math.h>
#include "vld.h"

using namespace std;

class Number //存储4位的质数
{
public:
int nNum;//整个数
int n1;//千位
int n2;//百位
int n3;//十位
int n4;//个位
Number(){}
Number(int a,int b){
int init;
cin>>init;
while(init<1000||init>9999||!IsTheNum(init)){
cout<<"请输入1000-9999的质数!!"<<endl;
cin>>init;
}
setNum(init);
}
Number(Number &a){
setNum(a.nNum);
}
void setDigitA(int a){//设置千位
n1 = a;
nNum = n1*1000+n2*100+n3