杭电1164 i又变成1实现循环(不知道是什么算法吗)

//Input:9412
//Output:2213*181\n

#include<stdio.h>
void main(){
    
    
	int i,n;
	while(~scanf("%d",&n)){
    
    
		for(i=2;i<=n;i++){
    
    
			if(n%i==0){
    
    //如果是因数
        		n/=i;//n除掉因数
				printf("%d",i);//把因数put
				if(n==1) printf("\n");//如果因数被除光了,结束
				else printf("*");//不是的话就put*
        		i=1;//实现循环,i又变成1。因为马上i还要+1变成2。
			}
		}
	}
}

觉得看起来是单层循环,实际上是双层循环好牛逼

猜你喜欢

转载自blog.csdn.net/cwindyc/article/details/107009865