本文共 568 字,大约阅读时间需要 1 分钟。
将一个位数为L的自然数N拆成4段,使各段对应的数的乘积最小。你能编一个程序实现吗?
Input 一个自然数N。 Output 一个整数,最小乘积。三重循环,枚举位置,算就行了
#include#include #include using namespace std;unsigned int f(string number,int i,int j,int k,int len){ unsigned int ans1=0,ans2=0,ans3=0,ans4=0; for(int p=0;p<=i;++p) ans1=ans1*10+number[p]-'0'; for(int p=i+1;p<=j;++p) ans2=ans2*10+number[p]-'0'; for(int p=j+1;p<=k;++p) ans3=ans3*10+number[p]-'0'; for(int p=k+1;p >number; unsigned ans=1<<30,len=number.size();//初始一个极大值 for(int i=0;i
转载地址:http://tdobi.baihongyu.com/