蓝桥--阶乘

 

 

#include<iostream>
#include<vector>//C++ 容器 详见下方链接
using namespace std;
vector<int> v;//声明了一个int数组v[],大小没有指定,可以动态的向里面添加删除
int main()
{
  int n,i,j,t;
  cin>>n;//输入n
  v.push_back(1); //在数组的最后添加一个数据,初始化为1
  for(i=2;i<=n;i++)
   {
  for(j=0;j<v.size();j++)
  {
  v[j]*=i;
  }//遍历数组中每一个元素
  for(j=0;j<v.size();j++)
  {
    if(v[j]<10)
    continue;
    else
    {
    t=v[j];
    v[j]=v[j]%10;
    if(j!=v.size()-1)//判断是不是最后一个
    {
    v[j+1]+=t/10;
    }
    else
    {
    v.push_back(t/10);
    }
    }
    }
  }
  for(i=v.size()-1;i>=0;i--)//逆序输出
  {
  cout<<v[i];
  }
return 0;
}

关于vector的用法:

https://blog.csdn.net/fsz520w/article/details/82422370

posted @ 2022-03-21 20:47  Rosemary~  阅读(76)  评论(0)    收藏  举报