virtual hust 2013.6.20 数论基础题目 I

题目:Code Refactoring

思路:直接暴力。。水题

#include <cstdio>
#include <iostream>
#include <cstring>
#include <algorithm>
#include <cmath>
using namespace std;
bool is_ok(int a,int b,int c,int d)
{
    if(a==b||b==c||a==c||a==d||b==d||c==d)
        return false;
    return true;
}
int main()
{
    int t;
    scanf("%d",&t);
    for(int cases=1;cases<=t;cases++)
    {
        int n;
        scanf("%d",&n);
        int num[4];
        memset(num,0,sizeof(num));
        int cnt=0,i;
        for(i=2;i<=(int)sqrt(n);i++)
        {
            if(n%i==0)
            {
                num[cnt++]=i;
                num[cnt++]=n/i;
                break;
            }
        }
        for(;i<=(int)sqrt(n);i++)
        {
            if(n%i==0)
            {
                if(is_ok(num[0],num[1],i,n/i))
                {
                    num[cnt++]=i;
                    num[cnt++]=n/i;
                    break;
                }
            }
        }
        printf("Case #%d: %d = %d * %d = %d * %d
",cases,n,num[0],num[1],num[2],num[3]);
    }
    return 0;
}
View Code
原文地址:https://www.cnblogs.com/overflow/p/3146774.html