C言語【プログラム11】テーマ:正の整数を素因数に分解する


方法1
//【  11】
//  :           。  :  90,   90=2*3*3*5。
#include
int main()
{
	int n,i;
	scanf("%d",&n);
	printf("%d=",n);
	for(i=2;i<=n;i++)      
	{
		while(n!=i)              //    ,for     while,     i 
		{
			if(n%i==0)           //        ,        2       , 
			{                    //      ,   2    
				printf("%d*",i);
				n=n/i;
			}
			else
				break;
		}
	} 
	printf("%d",n);
	return 0;
} 
#include
int a[10];
int main()
{
	int n,i,k=0;
	scanf("%d",&n);
	int tmp=n;
	while(n)              //2              
	{
		if(n%2==0)
		{
			a[k++]=2;
			n=n/2;
		}
		else
			break; 
	}
	i=3; 
	while(n!=1 && n!=0)  //note:         1,    ,-->    
	{
		if(n%i==0)
		{
			a[k++]=i;
			n=n/i;
		}
		else
			i=i+2;
	}
	printf("%d=",tmp);   //       
	for(i=0;i<k-1;i++)
	{
		printf("%d*",a[i]);
	}
	printf("%d",a[k-1]);
	return 0;
}