hdoj 1230 火星A+B
【摘要】
#include<stdio.h>#include<string.h> int a[150],b[150],t[150];int pr[150]; void prime(){ int i, j, f, cnt = 1; pr[0] = 2; for(i = 3; ;i++) { ...
-
#include<stdio.h>
-
#include<string.h>
-
-
int a[150],b[150],t[150];
-
int pr[150];
-
-
void prime()
-
{
-
int i, j, f, cnt = 1;
-
pr[0] = 2;
-
for(i = 3; ;i++)
-
{
-
f = 1;
-
for(j = 2;j * j <= i; j++)
-
{
-
if(i % j == 0)
-
{
-
f = 0;
-
break;
-
}
-
}
-
if(f)
-
pr[cnt++] = i;
-
if(cnt > 120)
-
break;
-
}
-
}
-
-
void change(int l,int *p)
-
{
-
int cnt = 0;
-
for(int i = l;i >= 0;i--)
-
{
-
p[cnt++] = t[i];
-
}
-
}
-
-
int main()
-
{
-
int i, j;
-
prime();
-
while(1)
-
{
-
memset(a,0,sizeof(a));
-
memset(b,0,sizeof(b));
-
i = 0;j = 0;
-
while(1)
-
{
-
scanf("%d",&t[i++]);
-
if(getchar() == ' ')
-
{
-
change(i - 1,a);
-
break;
-
}
-
}
-
while(1)
-
{
-
scanf("%d",&t[j++]);
-
if(getchar() == '\n')
-
{
-
change(j - 1,b);
-
break;
-
}
-
}
-
if(i == 1 && j == 1 && !a[0] && !b[0])
-
break;
-
int temp = 0;
-
for(i = 0; i < 120 ;i++ )
-
{
-
a[i] = a[i] + b[i] + temp;
-
temp = a[i] / pr[i];
-
a[i] = a[i] % pr[i];
-
}
-
for(i = 120; i >= 0;i--)
-
{
-
if(a[i] != 0)
-
break;
-
}
-
for(;i >= 0;i--)
-
{
-
printf("%d",a[i]);
-
if(i)
-
putchar(',');
-
else
-
putchar('\n');
-
}
-
}
-
return 0;
-
}
文章来源: xindoo.blog.csdn.net,作者:xindoo,版权归原作者所有,如需转载,请联系作者。
原文链接:xindoo.blog.csdn.net/article/details/8495419
【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱:
cloudbbs@huaweicloud.com
- 点赞
- 收藏
- 关注作者
评论(0)