• sgu 118


    题意

      定义f(n)为n各位数字之和,如果n是各位数,则n个数根是f(n),否则为f(n)的数根

      现在给出n个Ai,求出A1*A2*…*AN + A1*A2*…*AN-1 + … + A1*A+ A1 这个式子的数根

      多组数据

    分析

      首先,要知道这样一个结论:

        任何一个整数模9同余于它的各数位上数字之和

      具体证明过程如下:

      设自然数N=a[n]a[n-1]…a[0],其中a[0],a[1]、…、a[n]分别是个位、十位、…上的数字

      再设M=a[0]+a[1]+…+a[n]

      求证:N≡M(mod 9).


       证明:
         ∵ N=a[n]a[n-1]…a[0]=a[n]*10^n+a[n-1]*10^(n-1)+…+a[1]*10+a[0].
        又∵ 1≡1(mod 9),
            10≡1(mod 9),
            10^2≡1(mod 9),
              … 
            10^n≡1(mod 9).
        上面这些同余式两边分别同乘以a[0]、a[1]、a[2]、…、a[n],再相加得:
          a[0]+a[1]*10+…+a[n]*10^n≡(a[0]+a[1]+…+a[n])(mod 9),
                        即 N≡M(mod 9),得证。

     1 // File Name: 118.cpp
     2 // Author: Missa
     3 // Created Time: 2013/3/19 星期二 13:33:58
     4 
     5 #include<iostream>
     6 #include<cstdio>
     7 #include<cstring>
     8 #include<algorithm>
     9 #include<cmath>
    10 #include<queue>
    11 #include<stack>
    12 #include<string>
    13 #include<vector>
    14 #include<cstdlib>
    15 #include<map>
    16 #include<set>
    17 using namespace std;
    18 #define CL(x,v) memset(x,v,sizeof(x));
    19 #define R(i,st,en) for(int i=st;i<en;++i)
    20 #define LL long long
    21 #define inf 0x3f3f3f3f
    22 
    23 const int maxn = 1e3+5;
    24 int a[maxn];
    25 int n;
    26 
    27 int main()
    28 {
    29     int t;
    30     scanf("%d",&t);
    31     while(t--)
    32     {
    33         scanf("%d",&n);
    34         R(i,0,n)
    35             scanf("%d",&a[i]);
    36         int sum = (a[n-1])%9;
    37         for(int i = n-2 ;i >= 0; -- i)
    38         {
    39             sum = ((a[i] % 9) * ((1+sum) % 9)) % 9;
    40         }
    41         printf("%d\n",sum?sum:9);
    42     }
    43     return 0;
    44 }
  • 相关阅读:
    Csharp: create Transparent Images in winform
    HTML5:Subway Map Visualization jQuery Plugin(示例畫深圳地鐵線路圖)
    sql 语句 查询 sql server 主键!
    面向对象学习
    聚类算法学习笔记(一)——基础
    oracle 会话以及处理数
    java.util.Calendar常量字段值
    java连接sql时候,获取表格各列属性
    Oracle 动态SQL返回单条结果和结果集
    Oracle数据库数据字典学习
  • 原文地址:https://www.cnblogs.com/Missa/p/2969043.html
Copyright © 2020-2023  润新知