|
- #include <bits/stdc++.h>//失败的程序
- using namespace std;
- int m[1010],n[1010],a[10000],c[10000],d[10000];
- string sum;
- string gaocheng(string s,int x)
- {
- s="1";
- int l=s.size(),k=0,x1=0;
- for (int i=0;i<l;i++)
- a[i]=s[l-1-i]-'0';
- while (x>0)
- {
- c[k]=x%10;
- k++;
- x/=10;
- }
- for (int i=0;i<k;i++)
- {
- x1=0;
- for (int j=0;j<l;j++)
- {
- d[i+j]=d[i+j]+x+a[l-1-j]*c[i];
- x=d[i+j]/10;
- d[i+j]%=10;
- }
- d[i+l-1]=x;
- }
- for (int i=0;i<l+k;i++)
- s[i]=d[l+k-i]+'0';
- memset(a,0,10000);
- memset(c,0,10000);
- memset(d,0,10000);
- return s;
- }//不会把高精度函数的值用字符串的形式返回出来(总之就是感觉函数写错了,但不知道是怎么错了)
- int main()
- {
- int m1,n1,temp1,temp2;
- cin>>m1>>n1;
- temp1=m1;
- temp2=n1;
- for (int i=1; i<=n1; i++)
- {
- m[i]=m1;
- m1--;
- }
- for (int i=1; i<=temp2; i++)
- {
- n[i]=n1;
- n1--;
- }
- m1=temp1;
- n1=temp2;
- for (int i=1; i<=n1; i++)
- {
- for (int j=1; j<=n1; j++)
- {
- if (m[j]%n[i]==0)
- {
- m[j]=m[j]/n[i];
- break;
- }
- }
- }
- for (int i=1; i<=n1; i++)
- sum=gaocheng(sum,m[i]);
- cout<<sum;
- return 0;
- }
复制代码 |
|