一.题目
如果x加上x的各个数字之和得到y,就说x是y的生成元。给出n(1≤n≤100000),求最小
生成元。无解输出0。例如,n=216,121,2005时的解分别为198,0,1979
二.分析
数学问题,需要求出各个位的数字并累加;根据书本的提示,为了省时间,应该去做一张大表来减少时间。
三.代码
#include <stdio.h>
#include<string.h>
int target[100000]; //合成的数
int temp[100000]; //当前的数
int main ()
{
int i=0;
int n;
int flag=0;
while(i<=100000)

该博客讨论了一个数学问题,即寻找使得x加其数字和等于y的最小生成元。当给定n(1≤n≤100000)时,博主通过建立大表的方法解决了这一问题,以提高效率。在代码实现后,博主反思可以将此方法应用于素数问题,以避免计算超时。
最低0.47元/天 解锁文章
2627

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



