描述

对于任意的两个非负整数a,b(0<=a,b<10000),请计算a^b各位数字的和的各位数字的和……

输入

输入两个非负整数a,b(0<=a,b<10000),注意哦,输入可是多组哦!还有就是最后一组a=0,b=0表示输入结束,不需要处理哦!

输出

对于每组输入的数据,请计算a^b各位数字的和的各位数字的和……

样例输入

2 3
5 7
0 0

样例输出

8
5

提示

注意输入数据的范围和最后结果的范围哦!

题目来源

qingyezhu

题目上传者

qingyezhu

刚看到这题就想把1033里的直接拿过来用,结果WA发现并不是一样的题。。然后第一次↓

 #include<stdio.h>
 int main()
 {
     int a,b,i,j,site,ret,sum;
     while(scanf("%d %d",&a,&b)!=EOF)
     {
         &&b==)
         {
             break;
         }
         ]= {};
         site=;
         ;i<=b;i++)
         {
             ;j<=site;j++) temp[j]*=a;
             ;j<=site;j++)
             {
                 temp[j+]+=temp[j]/;
                 temp[j]%=;
                 ||temp[site+]>) ++site;
             }
         }
         ret = ;
         sum = ;
         while(site--) ret+=temp[site];
         ||sum/!=)
         {
             sum+=ret%;
             ret/=;
             &&sum/!=)
             {
                 ret = sum;
                 sum = ;
             }
         }
         printf("%d\n",sum);
     }
     ;
 }

超时。

果然ACM这种东西要先学习才行,这时候果断google

assume a1,a2...an ,then
  (a1a2...an)%9=(a1+a2+...+an)%9
  prove:
     make s=a1a2...an=a1*10^(n-1)+a2*10^(n-2)+...+an
                  =a1*(999..9+1)+a2*(99..9+1)+...+a(n-1)*(9+1)+an
                  =(a1*999..9+a2*999..9+...+a(n-1))+(a1+a2+...+an)
       s%9=(a1+a2+...+an)%9

一句话总结就是任何数除以9的余数都跟它各位数相加之和除以9的余数相同,递推到最后就可以得知该数的各位数之和之和之和……就是它除以9的余数(且余数为0的时候结果为9)。

又因为(a*a)%9=(a%9*a%9)%9,所以(a*a*a)%9=((a*a)%9*a%9)%9=((a%9*a%9)%9*a%9)%9,即若只使结果相同,则程序可以利用循环带入写成如下形式↓

  #include<stdio.h>

   int main()
   {
       int a,b,i,ret;
       while(scanf("%d %d",&a,&b)!=EOF)
       {
           &&b==) break;
           ,ret=;i<=b;i++) ret = (ret%)*(a%);
           ret%=;
           if(ret) printf("%d\n",ret);
          ) printf("0\n");
          else printf("9\n");
      }
      ;
  }

AC~

BJFU 1034的更多相关文章

  1. BZOJ 1034 泡泡堂BNB 贪心+简单博弈

    同样是今天做bzoj时做到的,感觉能力范围之内的就做了,也是蛮简单的 1034: [ZJOI2008]泡泡堂BNB Time Limit: 10 Sec Memory Limit: 162 MB Su ...

  2. BZOJ 1034 题解

    1034: [ZJOI2008]泡泡堂BNB Time Limit: 10 Sec  Memory Limit: 162 MBSubmit: 2613  Solved: 1334[Submit][St ...

  3. 九度oj 题目1034:寻找大富翁

    题目链接:http://ac.jobdu.com/problem.php?pid=1034 题目描述:     浙江桐乡乌镇共有n个人,请找出该镇上的前m个大富翁. 输入:     输入包含多组测试用 ...

  4. 【wikioi】1034 家园(最大流+特殊的技巧)

    http://wikioi.com/problem/1034/ 太神了这题. 其实一开始我以为是费用流,但是总感觉不对. 原因是我没看到一句话,特定的时刻到达特定的点!! 也就是说,并不是每艘船每次都 ...

  5. NBOJv2 1034 Salary Inequity(DFS序+线段树区间更新区间(最值)查询)

    Problem 1034: Salary Inequity Time Limits:  10000 MS   Memory Limits:  200000 KB 64-bit interger IO ...

  6. 【BZOJ】【1034】【ZJOI2008】泡泡堂BNB

    贪心 类似田忌赛马策略的一个贪心= = 随便YY了一个做法居然A了…… 简单来说就是先强对强,弱对弱,能赢就赢,不能赢就让弱的那个去对强的那个,剩下的人继续依次捉对比赛(继续刚刚的策略),现在人数还是 ...

  7. PAT-乙级-1034. 有理数四则运算(20)

    1034. 有理数四则运算(20) 时间限制 200 ms 内存限制 65536 kB 代码长度限制 8000 B 判题程序 Standard 作者 CHEN, Yue 本题要求编写程序,计算2个有理 ...

  8. bzoj 1034 [ZJOI2008]泡泡堂BNB(贪心)

    [题目链接] http://www.lydsy.com/JudgeOnline/problem.php?id=1034 [题意] 给两个序列以任意顺序比较,求出最大和最小得分. [思路] 排序后使用贪 ...

  9. PAT 1034. Head of a Gang (30)

    题目地址:http://pat.zju.edu.cn/contests/pat-a-practise/1034 此题考查并查集的应用,要熟悉在合并的时候存储信息: #include <iostr ...

随机推荐

  1. html5 可以讓使用者輸入url網址 ,去play影片

    <html> <head> <title>Simple Video Example</title> <script> function pl ...

  2. 解决方案:Resharper对系统关键字提示‘can not resolve symbol XXX’,并且显示红色,但是编译没有问题

    环境:Visual studio 2013 community update 4 + Resharper 8.2 + Windows 7现象:我的C#工程编译没有问题, 但是在代码编辑器中系统关键字显 ...

  3. linux系统中errno与error对照表

    1.使用了一个小程序输出所有的errno对应的error字符串,代码如下 #include <errno.h> void showError(int err){ printf(" ...

  4. GO语言练习:为类型添加方法

    1.代码 2.运行 1.代码 package main import "fmt" type Integer int //给in类型添加 Less 方法,int原来的方法被Integ ...

  5. 关于多线程情况下Net-SNMP v3 版本导致进程假死情况的跟踪与分析

    1.问题描述 在使用net-snmp对交换机进行扫描的时候经常会出现进程假死的情况(就是进程并没有死掉,但是看不到它与外界进行任何的数据交互).这时候不知道进程内部发生了什么,虽然有日志信息,但进程已 ...

  6. DataGridView 中添加CheckBox和常用处理方式 .

    DataGridView 中添加CheckBox和常用处理方式 文章1 转载:http://blog.csdn.net/pinkey1987/article/details/5267934 DataG ...

  7. JQuery小结

    一.选择网页元素 jQuery的基本设计和主要用法,就是"选择某个网页元素,然后对其进行某种操作".这是它区别于其他函数库的根本特点. 使用jQuery的第一步,往往就是将一个选择 ...

  8. House Robber

    You are a professional robber planning to rob houses along a street. Each house has a certain amount ...

  9. 火狐的调试利器-----Firebug

    什么是Firebug 从事了数年的Web开发工作,越来越觉得现在对WEB开发有了更高的要求.要写出漂亮的HTML代码:要编写精致的CSS样式表展示每个页面模块:要调试javascript给页面增加一些 ...

  10. 国内docker镜像

    daocloud:https://www.daocloud.io/ 网易蜂巢:https://c.163.com/