View Code of Problem 91

#include "stdio.h"
#include "math.h"
#include "string.h"

int main()
{
	int a,b;
	void f(int a);
	scanf("%d",&a);
	printf("%d=",a);
	f(a);
//	printf("%d",b);
	return 0;
}

void f(int n)
{
	int i;
	for(i=2;i<=sqrt(n);i++)					//从最小素数2开始除
	{
		for(;n!=i;)					//20=2*2*5,这里i两次等于2
		{
			if(n%i==0)
			{
				printf("%d*",i);
				n=n/i;				//防止死循环
			}
			else
				break;
		}
	}
	printf("%d",n);
}

Double click to view unformatted code.


Back to problem 91