1、实验名称:回溯算法的应用
2、实验目的:掌握回溯算法的原理和设计方法
3、实验内容:构造一个尽可能大的数,使其从高到低前一位能对1整除,前2位能对2整除,……,前n位能对n整除(假设n不大于15)。记高精度数据为a1 a2……an,题目很明确有两个要求:
1)a1整除1且
(a1*10+a2)整除2且……
(a1*10n-1+a210n-2+……+an) 整除n;
2)求最大的这样的数。
#include
using namespace std;
void fun(int n){
int min_num=1;
int max_num=0;
int temp_max_num=9;
for(int i=0;imin_num;loop--){
int temp_loop=loop;
for(int j=n-1;j>-1;j--){
wei[j]=temp_loop%10;
temp_loop/=10;
}
int sum=wei[0];
int count_num=1;
for(int k=0;k
由于C语言中int占4字节,能表示-2^31~2^31-1即-2147483648~2147483647,十位数,但对于这题封顶应该为9位