题目意思:

给定a和n,计算a+aa+aaa+aaaa+...+a...a(n个a) 的和。

输入描写叙述:測试数据有多组,以文件结尾。每行输入a,n(1<=a,n<=1000000)。

输出描写叙述:因为结果可能比較大,所以请输出答案mod 1000000007。

http://student.csdn.net/mcs/programming_challenges

题目分析:

同余定理:

s=0;

abc&MOD=((a*10%MOD+b%MOD)*10%MOD+c%MOD)%MOD:

//迭代形式

s=(s*10%MOD+a%MOD)%MOD

s=(s*10%MOD+b%MOD)%MOD

s=(s*10%MOD+c%MOD)%MOD

abc%MOD=s:

此题须要注意的是,链接的a可能不是一位数,一次须要将a写入字符串(同余)进行操作,见代码凝视。

AC代码:

<span style="font-size:18px;">/**
*同于定理,须要注意每一次链接的a不一定是一位数
*比如输入100 3
*1、s=0; s1[3]="100";(a写入字符串)
*2、s=(s*10%MOD+(s1[j]-'0'))%MOD;
*3、下一次链接下一个数,仅仅须要用s继续链接a就可以
*4、每一次用sum+=s;
*/
#include<iostream>
#include<cstdio>
#include<cstring>
#include<cmath>
#define MOD 1000000007
using namespace std;
int main()
{
int a,n;
while(cin>>a>>n){
char s1[10];
sprintf(s1,"%d",a);//将a写入字符串以便于进行逐个取余,(用同余定理)
int len=strlen(s1);
long long sum=0,s=0;
for(int i=0;i<n;i++){
for(int j=0;j<strlen(s1);j++){//每次将数字a分成为每一位取余与上一个数链接
s=(s*10%MOD+(s1[j]-'0'))%MOD;
}
sum=(sum%MOD+s%MOD)%MOD;
//printf("%s\n",s2);
}
cout<<sum<<endl;
}
return 0;
}
</span>

CSDN 厦门大学线下编程比赛第一题:求和(同余定理)的更多相关文章

  1. CSDN 四川大学线下编程比赛第一题:数字填充

    题目意思: http://student.csdn.net/mcs/programming_challenges peter喜欢玩数字游戏,但数独这种游戏对他来说太简单了,于是他准备玩一个难的游戏. ...

  2. CSDN 四川大学线下编程比赛第二题:Peter的X

    题目详情: http://student.csdn.net/mcs/programming_challenges Peter是个小男孩.他总是背不清26个英文字母. 于是,刁钻的英语老师给他布置了一个 ...

  3. CSDN挑战编程——《金色十月线上编程比赛第二题:解密》

    金色十月线上编程比赛第二题:解密 题目详情: 小强是一名学生, 同一时候他也是一个黑客. 考试结束后不久.他吃惊的发现自己的高等数学科目竟然挂了,于是他果断入侵了学校教务部站点. 在入侵的过程中.他发 ...

  4. [py]letcode第一题求和

    letcode第一题, tm的不好弄. 想了很久想到了一个粗蠢的解决办法. Given an array of integers, return indices of the two numbers ...

  5. 代码审计-四叶草杯线下awd比赛源码web2

    今晚简单来看看那天比赛的源码吧,比赛的时候还是有些慌没有好好去静下心看代码. awd给的题中的漏洞,都是那种可以快速让你利用拿到权限后得到flag的那种,特别复杂利用的一般没有. 建议先黑盒去尝试,例 ...

  6. JAVA编程思想第一题出现错误

    //: object/E01_DefaultInitialization.java public class E01_DefaultInitialization{ int i ; char c ; p ...

  7. 【科创人·独家】MegaEase左耳朵耗子陈皓复盘创业:第一年盈利被当骗子,线下广阔天地大有可为

    [科创人·独家]MegaEase左耳朵耗子陈皓复盘创业:第一年盈利被当骗子,线下广阔天地大有可为 原创: babayage CTO科创圈  与上百位科技创业者共同关注科创人的成长心路. 文末有彩蛋:& ...

  8. [ X.XX]CF每日一题系列线下更新中

    现在做的都好水啊,就不写博客了,线下有记录滴

  9. 由于空间,注定的结果——第五届山东省ACM编程比赛总结

    应该是,这是一个很失败的结果.目前省赛玩具.作为志愿者说,,铁匠是一个很丢人的事. 作为队长.全然没有想到会是这种一次旅程.尽管由于去baidu的实习和各种offer的申请,对acm抱着能水就水绝不深 ...

随机推荐

  1. PHP7 上传文件报错 Internal Server Error 解决方法

    打开Apache配置httpd.conf.在最后添加FcgidMaxRequestLen指令一个足够大的值(以字节为单位),例如 FcgidMaxRequestLen 100000000 最后重新启动 ...

  2. vue项目国际化实现 vue-i18n使用详细教程

    1.安装vue-i18n: npm i vue-i18n -S 当然你也可以这样: <script src="https://unpkg.com/vue/dist/vue.js&quo ...

  3. CAD使用GetxDataLong读数据(网页版)

    主要用到函数说明: MxDrawEntity::GetxDataLong2 读取一个Long扩展数据,详细说明如下: 参数 说明 [in] LONG lItem 该值所在位置 [out, retval ...

  4. JavaScipt30(第六个案例)(主要知识点:给数字加千分号的正则)

    承接上文,这是第6个案例: 附上项目链接: https://github.com/wesbos/JavaScript30 这个主要是要实现在给定的json里匹配出搜索框里的city or state, ...

  5. A3. JVM 类加载器

    [概述] 虚拟机设计团队把类加载阶段中的 “通过一个类的全限定名来获取描述此类的二进制字节流” 这个动作放到 Java 虚拟机外部去实现,以便让应用程序自己决定如何去获取所需要的类.实现这个动作的代码 ...

  6. Java基础——面向对象(封装——继承——多态 )

    对象 对象: 是类的实例(实现世界中 真 实存在的一切事物 可以称为对象) 类: 类是对象的抽象描述 步骤: 1.定义一个类 (用于 描述人:) ( * 人:有特征和行为) 2.根据类 创建对象 -- ...

  7. linux cut-连接文件并打印到标准输出设备上

    博主推荐:获取更多 linux文件内容查看命令 收藏:linux命令大全 cut命令用来显示行中的指定部分,删除文件中指定字段.cut经常用来显示文件的内容,类似于下的type命令. 说明:该命令有两 ...

  8. Linux iostat-监视系统输入输出设备和CPU的使用情况

    推荐:更多linux 性能监测与优化 关注:linux命令大全 iostat命令被用于监视系统输入输出设备和CPU的使用情况.它的特点是汇报磁盘活动统计情况,同时也会汇报出CPU使用情况.同vmsta ...

  9. pressure coeffcient of a wing/blade

    software: CFD POST ANSYS menu bar, select Tools > Macro Calculator. \ correction: Ref pressure is ...

  10. Hdu 4864(Task 贪心)(Java实现)

    Hdu 4864(Task 贪心) 原题链接 题意:给定n台机器和m个任务,任务和机器都有工作时间值和工作等级值,一个机器只能执行一个任务,且执行任务的条件位机器的两个值都大于等于任务的值,每完成一个 ...