九度OJ 题目1016:火星A+B

HDU1229(A+B水题) Problem Description读入两个小于10000的正整数A和B,计算A+B。需要注意的是:如果A和B的末尾K(不超过8)位数字相同,请直接输出-1。Input测试输入包含若干测试用例,每个测试用例占一行,格式为"A B K",相邻两数字有一个空格间隔。当A和B同时为0时输入结束,相应的结果不要输出。Output对每个测试用例输出1行,即A+B的值或者是-1。Sample Input1 2 1 11 21 1 108 8 2 36 64 3 0 0 1Sample Output3 -1 阅读详情

题目链接:http://ac.jobdu.com/problem.php?pid=1016

解题时间:2013/4/14

程序源码:

#include <stdio.h>
#include <stdlib.h>
#include <math.h>
/*
int primes[] =
{
    2,3,5,7,11,
    13,17,19,23,29,
    31,37,41,43,47,
    53,59,61,67,71,
    73,79,83,89,97
};
*/
int primes[25];
int a[25];
int b[25];
int aLen,bLen;
int ans[26];
int ansLen;
//n>=2
int IsPrime(int n)
{
    int mid;
    mid = sqrt(n);
    if(n == 2) return 1;
    if(n%2==0) return 0;
    int i;
    for(i = 3; i<= mid; i += 2)
        if(n%i == 0) return 0;

    return 1;
}

void GetPrimes(int n)
{
    int i=0;
    int number=2;
    while(1)
    {
        if(i>=n) break;
        if(IsPrime(number))
        {
            primes[i++]=number;
        }
        number++;
    }
}
//对阶
void Match()
{
    int xLen;//位数差值
    int i;
    if(aLen<bLen)
    {
        xLen=bLen-aLen;
        for(i=1; i<=aLen; i++)
        {
            a[bLen-i]=a[aLen-i];
        }
        for(i=0; i<xLen; i++)
        {
            a[i]=0;
        }
        aLen=bLen;
    }
    if(aLen>bLen)
    {
        xLen=aLen-bLen;
        for(i=1; i<=bLen; i++)
        {
            b[aLen-i]=b[bLen-i];
        }
        for(i=0; i<xLen; i++)
        {
            b[i]=0;
        }
        bLen=aLen;
    }
}
//加
void Add()
{
    int carry=0;//进位
    int i,j;
    for(i=aLen-1,j=0; i>=0; i--,j++)
    {
        if((a[i]+b[i]+carry)>=primes[j])
        {
            ans[j]=a[i]+b[i]+carry-primes[j];
            carry=1;
        }
        else
        {
            ans[j]=a[i]+b[i]+carry;
            carry=0;
        }
    }
    ansLen=aLen;
    if(carry==1)
    {
        ans[ansLen]=1;
        ansLen++;
    }
}
int main()
{
    char ch;
    GetPrimes(25);
    while(1)
    {
        aLen=0;
        while(1)
        {
            scanf("%d",&a[aLen++]);
            scanf("%c",&ch);
            if(ch==' ') break;
            if(ch==',') continue;
        }
        bLen=0;
        while(1)
        {
            scanf("%d",&b[bLen++]);
            scanf("%c",&ch);
            if(ch=='\n') break;
            if(ch==',') continue;
        }
        if(a[0]==0&&b[0]==0) break;
        //相加操作
        Match();
        Add();
        //输出
        int i;
        for(i=ansLen-1; i>0; i--)
        {
            printf("%d,",ans[i]);
        }
        printf("%d\n",ans[0]);
    }
    GetPrimes(25);
    return 0;
}


 

【OJ每日一练】1016 - 利息计算 三、代码参考 文章对你有所帮助的话,欢迎给个赞或者 star,你的支持是对作者最大的鼓励,不足之处可以在评论区多多指正,交流学习 阅读详情

相关推荐

Virbox Protector:全方位守护 Android 应用安全

在数字化浪潮中,Android 应用面临着诸多安全挑战,如破解、篡改、盗版、数据窃取和钓鱼欺诈等。为了应对这些复杂的安全问题,Virbox Protector 应运而生,为 Android 应用提供高强度的专业化安全保护,支持对 APK 和 AAB 文件的加固保护,并兼容 Google Play,助力应用顺利出海。

VBP_2025的博客 996

软件学院oj题解

初学,练习

2301_79967096的博客 8075

Win10下ISE14.7安装避坑全记录:从License加载失败到ChipScope连不上,我踩过的雷都在这了

本文详细记录了在Win10系统下安装ISE14.7时遇到的常见问题及解决方案,包括License加载失败、IMPACT闪退、ChipScope连接故障等。通过实际案例和步骤解析,帮助用户避开安装陷阱,确保FPGA开发工具顺利运行。特别针对license问题提供了兼容性设置和文件修改的实用技巧。

weixin_42683394的博客 225

杭电OJ(HDOJ)1016题:Prime Ring Problem(DFS问题)

Problem Description A ring is compose of n circles as shown in diagram. Put natural number 1, 2, ..., n into each circle separately, and the sum of numbers in two adjacent circles should be a prime

大块木 1120

手把手教你分析解决Innovus DRC Violation 和Antenna Effect Violation

数字IC后端设计培训教程之手把手教你分析解决Innovus DRC Violation 和Antenna Effect Violation

weixin_37584728的博客 2928

上海计算机学会2020年5月月赛C++乙组T2经济普查

中国正在以前所未有的力度推进脱贫攻坚,国家计划在2020年使得在现行标准下的贫困人口实现全面脱贫,为此,需要对居民的经济状况进行普查。 题目描述 给定一个正整数n,表示人口数量。一开始,每个居民拥有的财产记为a1​,a2​,⋯,an​,财产可能发生两种变化: 一种来源于个体,由某个居民的经济活动而产生。在某个时刻,某个居民的财产会直接变成某个数值,可能升高也可能降低。 一种来源于政策,在某个时刻,国家会对财产低于某个标准线全部的居民,实施政策支持,使得他们的财产全部正好到达标准线。 给定这些变

长春高老师编程 904

九度教程第37题

题目地址:http://ac.jobdu.com/problem.php?cid=1040&amp;pid=36 C语言源码: #include&lt;stdio.h&gt; #include&lt;math.h&gt; int main() { int a,b,k,n; scanf("%d %d %d",&amp;a,&amp;b,&amp;k); while(a!=0||b!=0)...

编程语言小筑 249

Windows Docker + RK3588 部署 YOLO26-Pose 人体姿态检测

YOLO26-Pose 在 RK3588 上的部署流程是 Windows Docker 容器内 ONNX 导出 → RKNN 转换(INT8 量化)→ ADB 推送 → 板端 C++ 推理。YOLO26n-Pose 在 640 输入下全链路约 55 FPS,可以覆盖实时姿态检测需求。先在板端用单张图片验证关键点输出正确性,确认 C++ 后处理的解析逻辑无误后,再切换到摄像头实时推理。

m0_64661770的博客 98

九度OJ 题目1016:火星A+B

一.题目描述:     读入两个不超过25位的火星正整数A和B,计算A+B。需要注意的是:在火星上,整数不是单一进制的,第n位的进制就是第n个素数。例如:地球上的10进制数2,在火星上记为“1,0”,因为火星个位数是2进制的;地球上的10进制数38,在火星上记为“1,1,1,0”,因为火星个位数是2进制的,十位数是3进制的,百位数是5进制的,千位数是7进制的…… 输入:     测

lhyer的专栏 1331

2024全国村级行政边界数据

五级行政区划:村边界数据产品涵盖五级行政区划:(一级行政区)省级行政区共31个其中:(台湾、香港、澳门除外);(二级行政区)地级行政区共334个其中:7个地区、3个盟、30个自治州、294个地级市;(三级行政区)县级行政区共2851个其中:1355个县、117个自治县、49个旗、3个自治旗、363个县级市、962个市辖区、1个林区、1个特区;(四级行政区)乡级行政区共40497个其中:11626个乡、1034个民族乡、20117个镇、7566个街道、151个苏木、1个民族苏木、2个县辖区公所;

J_Giser的博客 3226

以宠辱之戒写 SAP Fiori Elements,把标准能力当成身体,把扩展冲动当成大患

SAP Fiori Elements开发中常面临业务方追求"独特页面"的压力,但过度自定义会破坏框架价值。老子"宠辱若惊"的智慧提醒开发者:不应因用户称赞或批评而动摇架构原则。标准模板的价值在于确保业务语义、交互规范和后端服务的一致性。扩展应遵循官方API,将业务逻辑放在ABAP/CDS层而非前端控制器。成熟项目会平衡标准与定制,使用annotation表达UI行为,仅在必要时通过受支持的extension points进行增强,保持系统的长期可维护性。

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 996

九度oj 题目1016:火星A+B

题目描述: 读入两个不超过25位的火星正整数A和B,计算A+B。需要注意的是:在火星上,整数不是单一进制的,第n位的进制就是第n个素数。例如:地球上的10进制数2,在火星上记为“1,0”,因为火星个位数是2进制的;地球上的10进制数38,在火星上记为“1,1,1,0”,因为火星个位数是2进制的,十位数是3进制的,百位数是5进制的,千位数是7进制的…… 输入: 测试输...

aling1199的博客 207

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

九度oj 题目1016:火星A+B

题目描述:     读入两个不超过25位的火星正整数A和B,计算A+B。需要注意的是:在火星上,整数不是单一进制的,第n位的进制就是第n个素数。例如:地球上的10进制数2,在火星上记为“1,0”,因为火星个位数是2进制的;地球上的10进制数38,在火星上记为“1,1,1,0”,因为火星个位数是2进制的,十位数是3进制的,百位数是5进制的,千位数是7进制的…… 输入:     测试输入

binyuapple的专栏 486

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

ssm框架搭建

这个是一个在idea上成功跑起来的ssm框架项目,保存在这里方便以后使用直接下载

九度oj 题目1016:火星A+B 【ZJU2006考研机试题2】

题目1016:火星A+B 时间限制:1 秒 内存限制:32 兆 特殊判题:否 提交:3387 解决:941 题目描述:     读入两个不超过25位的火星正整数A和B,计算A+B。需要注意的是:在火星上,整数不是单一进制的,第n位的进制就是第n个素数。例如:地球上的10进制数2,在火星上记为“1,0”,因为火星个位数是2进制的;地球上的10进制

神州之光的专栏 916

efm32 入门.pdf

本PDF共计22页,介绍的是操作驱动API,下载与否自己斟酌。

九度OJ-题目1016 火星A+B

题目描述: 读入两个不超过25位的火星正整数A和B,计算A+B。需要注意的是:在火星上,整数不是单一进制的,第n位的进制就是第n个素数。例如:地球上的10进制数2,在火星上记为“1,0”,因为火星个位数是2进制的;地球上的10进制数38,在火星上记为“1,1,1,0”,因为火星个位数是2进制的,十位数是3进制的,百位数是5进制的,千位数是7进制的…… 输入: 测试输入包含若干测

AuroraCD的博客 983

九度OJ 1016

题目描述:     读入两个不超过25位的火星正整数A和B,计算A+B。需要注意的是:在火星上,整数不是单一进制的,第n位的进制就是第n个素数。例如:地球上的10进制数2,在火星上记为“1,0”,因为火星个位数是2进制的;地球上的10进制数38,在火星上记为“1,1,1,0”,因为火星个位数是2进制的,十位数是3进制的,百位数是5进制的,千位数是7进制的…… 输入:     测试输入

u012028185的专栏 554

九度OJ 1016 火星A+B

题目描述:     读入两个不超过25位的火星正整数A和B,计算A+B。需要注意的是:在火星上,整数不是单一进制的,第n位的进制就是第n个素数。例如:地球上的10进制数2,在火星上记为“1,0”,因为火星个位数是2进制的;地球上的10进制数38,在火星上记为“1,1,1,0”,因为火星个位数是2进制的,十位数是3进制的,百位数是5进制的,千位数是7进制的…… 输入:     测试输入

Jaster_wisdom的专栏 805

九度OJ 1016:火星A+B (进制转换)

时间限制:1 秒 内存限制:32 兆 特殊判题:否 提交:4913 解决:1334 题目描述:     读入两个不超过25位的火星正整数A和B,计算A+B。需要注意的是:在火星上,整数不是单一进制的,第n位的进制就是第n个素数。例如:地球上的10进制数2,在火星上记为“1,0”,因为火星个位数是2进制的;地球上的10进制数38,在火星上记为“1,1,1,0”

梁山伯的专栏 741

浙江大学2006年复试上机题 解题报告

九度OJ 题目1015:还是A+B 时间限制:1 秒  内存限制:32 兆  特殊判题:否  提交:1111  解决:701 题目描述:     读入两个小于10000的正整数A和B,计算A+B。需要注意的是:如果A和B的末尾K(不超过8)位数字相同,请直接输出-1。 输入:     测试输入包含若干测试用例,每个测试用例占一行,格式为"A B K",相邻两数字有一个空格间隔。当A和B同

PythonFX的专栏 2276

hdu 1230&&九度oj 1016 火星A+B

题目描述:     读入两个不超过25位的火星正整数A和B,计算A+B。需要注意的是:在火星上,整数不是单一进制的,第n位的进制就是第n个素数。例如:地球上的10进制数2,在火星上记为“1,0”,因为火星个位数是2进制的;地球上的10进制数38,在火星上记为“1,1,1,0”,因为火星个位数是2进制的,十位数是3进制的,百位数是5进制的,千位数是7进制的…… 输入:     测试输入

老鼠 478

九度OJ 1016 火星A+B AC版

#include <iostream> #include <string.h> #include <sstream> #include <math.h> #include <vector> #include <algorithm> using namespace std; int susuTable[28]=...

weixin_30872789的博客 157

九度OJ 1016 火星A + B 未AC版,整型存储不下

#include <iostream> #include <string.h> #include <sstream> #include <math.h> #include <vector> #include <algorithm> using namespace std; int susuTable[28]=...

weixin_30265171的博客 107

九度oj 1016:火星A+B

http://ac.jobdu.com/problem.php?id=1016大数相加原理 View Code 1 /*大数相加原理*/ 2 #include<iostream> 3 #include<vector> 4 #include<cmath> 5 #include<cstring> 6 #include<al...

weixin_30576859的博客 104
上一篇: 九度OJ 题目1483:求最大最小数
下一篇: win7下安装配置cocos2d-x
ErrorZero
博客等级 码龄14年 3粉丝 29原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值