zoukankan      html  css  js  c++  java
  • 蓝桥阶乘高精度

    在这里插入图片描述
    思路:

    1.先将各位先乘以对应的乘数
    2.再遍历数组的每个位,取个位数,再将剩下的位数加到前面一个地方去,特别是最后那个z+1>pos,pos++,神来之笔
    
    #include<bits/stdc++.h>
    using namespace std;
    int main()
    {
    	int a[100]={0};
    	int pos=0;
    	a[pos]=1;
    	int n;
    	cin>>n;
    	for(int i=1;i<=n;i++)
    	{
    	  for(int j=0;j<=pos;j++)
    	  {
    	  	a[j]*=i;
    	   }
    	   for(int z=0;z<=pos;z++) 
    		{
    			if(a[z]>=10)
    			{
    				a[z+1]+=a[z]/10;
    				a[z]%=10;
    				if(z+1>pos)
    				{
    					pos++;
    				}
    			}
    		}
    	}
    	for(int x=pos;x>=0;x--)
    	{
    		cout<<a[x];
    	}
    }
    
  • 相关阅读:
    每日总结
    每日总结
    《构建之法》读后感3
    每日博客
    每日博客
    每日博客
    每日博客
    预开发软件书
    每日博客
    每日博客
  • 原文地址:https://www.cnblogs.com/YenKoc/p/12779916.html
Copyright © 2011-2022 走看看