码迷,mamicode.com
首页 > 其他好文 > 详细

hrbust 1140

时间:2017-11-25 20:04:21      阅读:157      评论:0      收藏:0      [点我收藏+]

标签:href   ble   output   printf   res   using   公式   quic   amp   

1、链接

http://acm.hrbust.edu.cn/index.php?m=ProblemSet&a=showProblem&problem_id=1140

2、题目

Description
定义一种操作为:已知一个数字,对其各位数字反复求和,直到剩下的数是一位数不能求和为止。
例如:数字2345,第一次求和得到2 + 3 + 4 + 5 = 14,再对14的各位数字求和得到1 + 4 = 5,得到5将不再求和。
现在请你求出对ab进行该操作后,最终得到的数字是什么。
Input
对于每组数据:
第一行,包含两个数字a(0 <= a <= 2000000000)和b(1 <= b <= 2000000000)
Output
对于每组数据:
第一行,输出对ab进行操作后得到的数字是什么
Sample Input
2 3
5 4
Sample Output
8
4

3、分析

a) 数字和公式(x + 8)%9+1(这个真的难!!!!!!)
b) 快速幂

4、代码

#include<bits/stdc++.h>
using namespace std;

int quick_pow(int a,int n)
{
    if(n == 0)
        return 1;
    if(n == 1)
        return a%9;
    int res = quick_pow(a%9,n>>1);
    res = res * res % 9;
    if(n&1)
    {
        res *= a%9;
    }
    return res;
}

int main()
{
    int a,b;
    while(~scanf("%d%d",&a,&b))
    {
        if(a==0)
            printf("0\n");
        else
            printf("%d\n",(quick_pow(a,b)%9+8)%9+1);

    }
    return 0;
}

 

hrbust 1140

标签:href   ble   output   printf   res   using   公式   quic   amp   

原文地址:http://www.cnblogs.com/hhkobeww/p/7896129.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!