acm题
因子分解
Description 找出输入整数的所有因子(包括重复因子),并按从小到大的顺序依次输出。
Input 输入一组待分解整数,每个整数k占一行。 保证所有的输入数字1 <= k < 2^21
Output 输出每个输入整数的所有因子(按因子从小到大的顺序输出),因子之间用空格隔开。
Sample Input 4 7 12
Sample Output 2 2 7 2 2 3
- #include<iostream>
- #include<stdio.h>
- using namespace std;
- int main()
- {
- int i,j,n;
- while (scanf("%d", &n)==1)
- {
- for(i=2;i<=n;i++)
- {
- for(;n>0;)
- {
- if(n%i==0)
- {
- cout<<i<<" ";
- n=n/i;
- }
- else
- break;
- }
- }
- cout<<endl;
- }
- return 0;
- }
可是提交以后总显示wrong answer