//7.9做的....但是当时RE了,就不想在调试了....今天重看了下,发现输入少了个条件,即不为0
#include<iostream>
#include<cstdio>
#include<cmath>
using namespace std;
typedef unsigned long long LL;
bool flag;
void dfs(LL t, LL n, int k)
{
if(k==19 || flag){
return;
}
// cout << t << " " << n << endl;
if((t%n == 0)){
flag = true;
cout << t << endl;
return;
}
dfs(t*10, n, k+1);
dfs(t*10+1, n, k+1);
}
int main()
{
LL n;
while(cin >> n && n){
dfs(1, n, 0);
flag = false;
}
return 0;
}

本文介绍了一个使用C++实现的递归算法,该算法通过不断扩展数字序列来寻找能被给定整数整除的最大数字。程序通过递归地尝试添加新的数字位来构建可能的整数,并在找到解决方案时停止。
649

被折叠的 条评论
为什么被折叠?



