<span style="font-family: Arial, Helvetica, sans-serif;">// dashu.cpp : 定义控制台应用程序的入口点。</span>
//
#include "stdafx.h"
#include <iostream>
#include <stack>
using namespace std;
class Node{
public:
int value;
Node *next;
};
void calValue(int Num,Node **Head){//使用链表计算大数的阶乘
int flag=1;
while(flag<=Num){
if(!(*Head)){
*Head=new Node();
(*Head)->value=1;
flag++;
continue;
}
Node *tmp=*Head;
int last=0;//记录余数
while (tmp)
{
int sum=(tmp->value)*flag+last;
tmp->value=sum%10;
last=sum/10;
if(last>0&&!tmp->next){
tmp->next=new Node();
//tmp->next->value=1;
}
tmp=tmp->next;
}
flag++;
}
}
void outNode(Node **Head){//倒序输出节点
stack<int> nodeList;
Node *next=*Head;
while(next){
nodeList.push(next->v