Arab Collegiate Programming Contest 2012 J- Math Homework
2024-10-19 11:42:26
思路:由于只有1-6这几个数,而这几个数的最小公倍数是60,所以只需要求出60以内有多少满足条件的数即可。
再就是求出对于给定的n,求出60的倍数。然后就是怎样求的问题了。
首先可以写成如下形式:
10n-40=60*n (把最后的40个数去掉,最后在求结果的时候再加上)
n=(10n-40)/60. (结果一定可以整除)
代码如下:
#include<cstdio>
#define ll long long
#define mod 1000000007
ll pw(ll a,ll b)
{
ll ans=;
while(b){
if(b&) ans=ans*a%mod;
b>>=;
a=a*a%mod;
}
return ans;
}
int main()
{
int i,j,t;
ll n;
char str[];
bool f[];
scanf("%d",&t);
while(t--){
scanf("%I64d %s",&n,str);
for(i=;i<;i++){
f[i]=;
for(j=;j<;j++){
if(str[j]==''&&i%(j+)==) f[i]=;
else if(str[j]==''&&i%(j+)!=) f[i]=;
}
}
int c=;
if(n==){
for(i=;i<=;i++) c+=f[i];
printf("%d\n",c);
continue;
}
for(i=;i<;i++) c+=f[i];
ll p=pw(,n);
ll ans=(p-+mod)%mod*pw(,mod-)%mod;
ans=ans*c%mod;
for(i=;i<;i++) ans+=f[i];
printf("%I64d\n",ans);
}
return ;
}
最新文章
- 2.3switch case 语句注意事项。
- Android广播大全
- JQ学习(三)-ajax
- 转:copy initialization
- Retrofit所有知识场景汇总
- A Script Pro nginx URL重写规则无法播放MP4解决方法
- BZOJ 3040: 最短路(road) ( 最短路 )
- Spring in Action --- 使用MockMvc时报异常
- 分布式锁的几种使用方式(redis、zookeeper、数据库)
- 手动撸个Android雷达图(蜘蛛网图)RadarView
- step_by_step_ABP规约模式
- Jenkins2.32打包Unity项目的记录
- 清除 System.Web.Caching.Cache 以";xxx";开头的缓存
- 用scp这个命令来通过ssh传输文件
- word2013怎样批量重设图片和大小?(转)
- HDU 1940
- Hdu1978 How many ways 2017-01-18 14:32 40人阅读 评论(0) 收藏
- 不能将参数1从“const char []”转换为“LPCTSTR
- JS代码大全(都是网上看到自己整理的)
- django之管理静态文件
热门文章
- ProxySQL 监控和统计
- c++环境配置 Eclipse+mingw-get-setup
- C# 下载文件的四种方法
- tp总结
- PYTHON学习(三)之利用python进行数据分析(1)---准备工作
- Python股票信息抓取(三)
- @PathVariable @RequestParam @RequestBody 的区别
- [你必须知道的.NET]第二十二回:字符串驻留(上)---带着问题思考
- linux命令---查找文件中的内容
- openssl asn.1 生成DER文件,把DER文件转换成内部数据结构