NYOJ题目74小学生算术

--------------------------------

模拟加法过程即可。

AC代码:

 1 import java.io.BufferedReader;
 2 import java.io.IOException;
 3 import java.io.InputStreamReader;
 4
 5 public class Main {
 6
 7     public static void main(String[] args) throws NumberFormatException, IOException {
 8
 9         BufferedReader reader=new BufferedReader(new InputStreamReader(System.in));
10
11         boolean first=true;
12         while(first || reader.ready()){
13             first=false;
14             String ss[]=reader.readLine().split(" ");
15             int a=Integer.parseInt(ss[0]);
16             int b=Integer.parseInt(ss[1]);
17             if(a==0 && b==0) return ;
18             System.out.println(solve(a,b));
19         }
20
21     }
22
23     public static int solve(int a,int b){
24         int res=0; boolean carry=false;
25         while(a>0 && b>0){
26             int t1=a%10;
27             int t2=b%10;
28             if(t1+t2+(carry?1:0)>=10){
29                 res++;
30                 carry=true;
31             }else{
32                 carry=false;
33             }
34             a/=10;
35             b/=10;
36         }
37         return res;
38     }
39
40 }

题目来源: http://acm.nyist.net/JudgeOnline/problem.php?pid=74

时间: 2024-10-14 07:09:59

NYOJ题目74小学生算术的相关文章

nyist 74 小学生算术

题目74题目信息运行结果本题排行讨论区小学生算术时间限制:3000 ms | 内存限制:65535 KB 难度:1描述 很多小学生在学习加法时,发现“进位”特别容易出错.你的任务是计算两个三位数在相加时需要多少次进位.你编制的程序应当可以连续处理多组数据,直到读到两个0(这是输入结束标记).输入输入两个正整数m,n.(m,n,都是三位数)输出输出m,n,相加时需要进位多少次.样例输入123 456555 555123 5940 0样例输出03 1 #include <iostream>usin

nyoj 74 小学生算术【水题】

小学生算术 时间限制:3000 ms  |  内存限制:65535 KB 难度:1 描述 很多小学生在学习加法时,发现"进位"特别容易出错.你的任务是计算两个三位数在相加时需要多少次进位.你编制的程序应当可以连续处理多组数据,直到读到两个0(这是输入结束标记). 输入 输入两个正整数m,n.(m,n,都是三位数) 输出 输出m,n,相加时需要进位多少次. 样例输入 123 456 555 555 123 594 0 0 样例输出 0 3 1 来源 [张洁烽]原创 上传者 张洁烽 思路:

小学生算术

#include<iostream> #include<memory.h> using namespace std; int main() { char m[4],n[4]; cin>>m>>n; int temp[4]; while(m[0]!='0'&&n[0]!='0') { int N=0; memset(temp,0,sizeof(temp)); for(int i=2;i>=0;i--) { temp[i]=temp[i]+

NYOJ题目57 6174问题

----------------------------------------------------- 感觉这个OJ题目难度划分很不合理,这道理明明很简单却给了2的难度,而之前难度为0的水题有好多难死个人没做出来让我暗暗觉得自己脑子里都是屎... 把题目描述翻译成人话的意思就是多少次以后这个序列会出现,想明白这一点就比较简单了. AC代码: 1 import java.util.Arrays; 2 import java.util.Scanner; 3 4 public class Main

NYOJ题目1049自增自减

--------------------------------- 简单的字符判断. AC代码: 1 import java.util.Scanner; 2 3 public class Main { 4 5 public static void main(String[] args) { 6 7 Scanner sc=new Scanner(System.in); 8 9 int times=Integer.parseInt(sc.nextLine()); 10 while(times-->0

NYOJ题目10505C?5S?

--------------------------------------- 水. AC代码: 1 import java.util.Scanner; 2 3 public class Main { 4 5 public static void main(String[] args) { 6 7 Scanner sc=new Scanner(System.in); 8 9 int times=sc.nextInt(); 10 while(times-->0){ 11 double a=sc.n

NYOJ 题目56 阶乘式因式分解(一)

题目描述: 给定两个数m,n,其中m是一个素数. 将n(0<=n<=10000)的阶乘分解质因数,求其中有多少个m. 输入 第一行是一个整数s(0<s<=100),表示测试数据的组数随后的s行, 每行有两个整数n,m. 输出 输出m的个数. 样例输入 2 100 5 16 2 样例输出 24 15我的代码://AC #include<stdio.h>int main(){ int s,k; scanf("%d",&s); while(s--)

NYOJ题目28大数阶乘

-------------------------------------祭出BigInteger AC代码: import java.math.BigInteger; import java.util.Scanner; public class Main { public static void main(String[] args) { Scanner sc=new Scanner(System.in); int n=sc.nextInt(); BigInteger ans=fac(n);

NYOJ题目124中位数

------------------------------------- 排序取中间数即可 AC代码: 1 import java.util.Arrays; 2 import java.util.Scanner; 3 4 public class Main { 5 6 public static void main(String[] args) { 7 8 Scanner sc=new Scanner(System.in); 9 10 int times=sc.nextInt(); 11 wh