加载中…
个人资料
鈞少
鈞少
  • 博客等级:
  • 博客积分:0
  • 博客访问:32,561
  • 关注人气:17
  • 获赠金笔:0支
  • 赠出金笔:0支
  • 荣誉徽章:
相关博文
推荐博文
谁看过这篇博文
加载中…
正文 字体大小:

hdu4432 (Sum of divisors) 2012亚洲赛天津赛区B  暴力枚举

(2012-10-27 14:00:57)
标签:

杂谈

很好  暴力题~   注意下求因数的方法就好


#include <iostream>
#include <string>
#include <cmath>
#include <cstdio>
#include <cstring>
#include <cstdlib>
#include <cmath>
#include <stack>

#define ll long long

using namespace std;

int n,m;
int ans = 0;
stackst;

inline void ys()
{
    //int temp = ;
    for(int i = 1 ; i <= (int)sqrt(1.0*n) ; ++i)
    {
        if(n%i == 0)
        {
            int a = i;
            int b = n/i;
//            cout<<a<<"  "<<b<<endl;
            while(a != 0)
            {
                ans += (a % m) * ( a % m);
                a /= m;
            }
            if(b == i)continue;        
            while(b != 0)
            {
                ans += (b % m) * ( b % m );
                b /= m;
            }
        }
        
        
    }
        
}

int main()
{
    while(~scanf("%d%d",&n,&m))
    {
        ans = 0 ;
        ys();
        
        while(ans != 0)
        {
             int flag = ans%m;
            st.push(flag);
            ans /= m;
        }
        
        while(!st.empty())
        {
            int ppp=st.top();
            if(ppp<10)
                printf("%d",ppp);
            else printf("%c",'A'+ppp-10);
            st.pop();
        }
        printf("\n");
    }
    
    return 0;


0

阅读 评论 收藏 转载 喜欢 打印举报/Report
  • 评论加载中,请稍候...
发评论

    发评论

    以上网友发言只代表其个人观点,不代表新浪网的观点或立场。

      

    新浪BLOG意见反馈留言板 电话:4000520066 提示音后按1键(按当地市话标准计费) 欢迎批评指正

    新浪简介 | About Sina | 广告服务 | 联系我们 | 招聘信息 | 网站律师 | SINA English | 会员注册 | 产品答疑

    新浪公司 版权所有