zzulioj_1000-1010

因为整理起来比较慢,如果喜欢java或python的人想要代码的话,请私信我或者评论区留言。

这都是大一上学期写的代码比较稚嫩,如果想要看哪一个题目的分析或者不会做的,可以私信我,或者评论都行,如果再刷zzulioj觉得下面代码有用的话,点个赞关注一下呗。

这些都是最基本的题目,也不会在这个oj做题了,整理的原因是因为想要帮助有需要的人,同时记录一下不成熟的自己。

题目如果存在缺失,私信或者评论。必回。

ZZULI—刷题之路

zzulioj_1000-1010

zzulioj_1011-1050

1000: 整数a+b

C/C++版

#include <stdio.h>

int main(void )
{
    int a,b;
    scanf("%d%d",&a,&b);
    printf("%d\n",a + b);
    return 0;
}

Python版

import sys
a =input()
n,m = a.split(' ')
print(int(n)+int(m) )

Java版

import java.util.Scanner;
import java.math.BigInteger;
public class Main{
	public static void main(String[] args){
		Scanner in=new Scanner(System.in);
        // 可以不用大整数
		BigInteger a = in.nextBigInteger();
		BigInteger b = in.nextBigInteger();
		System.out.println(a.add(b));
	}
}

1001: 植树问题

C/C++版

#include <stdio.h>
int main(void )
{
    int m,n;
    scanf("%d %d",&m,&n);
    printf("%d %d\n", m/n , m%n);
    return 0;
}

Python版

a =input()
n,m = a.split(' ')
print(int(int(n)/int(m)),int(n)%int(m))

Java版

import java.util.Scanner;
import java.math.BigInteger;
public class Main{
	public static void main(String[] args){
		Scanner in=new Scanner(System.in);
		int a = in.nextInt();
		int b = in.nextInt();
		System.out.printf("%d %d\n", a / b, a % b);
	}
}

1002: 简单多项式求值

C/C++版

#include <stdio.h>

int main(void )
{
    int x;
    scanf("%d",&x);
    printf("%d\n", 2*x*x + x + 8);
    return 0;
}

Python版

a =int (input())
a = 2 * a * a + a + 8 
print(a)    

Java版


1003: 两个整数的四则运算

C/C++版

#include <stdio.h>

int main(void )
{
    int num1,num2;
    scanf("%d %d",&num1 , &num2);
    printf("%d %d %d %d %d\n", num1 + num2 , num1 - num2 , num1 * num2 , num1 / num2, num1 % num2 );
    return 0;
}

Python版

a = input()
n,m = (a.split(' '))
n = int(n)
m = int(m)
print(int(n+m),int(n-m),int(n*m),int(n/m),int(n % m))

Java版


1004: 三位数的数位分离

C/C++版

#include <stdio.h>

int main(void )
{
    int num1;
    scanf("%d",&num1 );
    printf("%d %d %d ",num1%100%10 , num1%100/10 ,num1/100);
    return 0;
}

Python版

n = int(input())
a = n % 10
b = int (n / 10) % 10
c = int (n / 100) % 10
print(a, b, c)

Java版


1005: 整数幂

C/C++版

#include <stdio.h>

int main(void )
{
    int num1,num2,num3;
    scanf("%d %d %d",&num1,&num2,&num3);
    printf("%-9d%-9d%-9d\n", num1 , num1*num1 , num1*num1*num1);
    printf("%-9d%-9d%-9d\n", num2 , num2*num2 , num2*num2*num2);
    printf("%-9d%-9d%-9d\n", num3 , num3*num3 , num3*num3*num3);
    return 0;
}

Python版

k =input()
a,b,c= k.split(' ')
a = int(a)
b = int(b)
c = int(c)
print("%-9d%-9d%-9d"%(a, a * a, a * a * a))
print("%-9d%-9d%-9d"%(b, b * b, b * b * b))
print("%-9d%-9d%-9d"%(c, c * c, c * c * c))

Java版


1006: 求等差数列的和

C/C++版

#include <stdio.h>

int main(void )
{
    int a,b,c;
    scanf("%d%d%d",&a,&b,&c);
    printf("%d",(a+b)*((b-a)/c + 1)/2);
    return 0;
}

Python版

a1,an,d = map(int, input().split())
n = (an - a1) / d + 1
sum = (a1 + an) * n / 2
sum = int(sum)
print(sum)

Java版


1007: 鸡兔同笼

C/C++版

#include <stdio.h>

int main(void )
{
    int a,b;
    scanf("%d%d",&a,&b);
    printf("%d %d",(4*a-b)/2,(b-2*a)/2);
    return 0;
}

Python版

x, y = map(int, input().split())
sum1 = (4 * x - y) / 2
sum2 = (y - 2 * x) / 2
print("%d %d"%(sum1, sum2))

Java版


1008: 美元和人民币

C/C++版

#include <stdio.h>

#define RATE 6.5573
int main (void )
{
    double a;
    scanf("%lf",&a);
    printf("%.2f\n",a*RATE);
    return 0;

}

1009: 求平均分

C/C++版

#include <stdio.h>

int main (void )
{
    double a,b,c;
    scanf("%lf%lf%lf",&a,&b,&c);
    printf("%.2f\n",(a + b + c)/3);
    return 0;

}

Python版

x, y, z = map(int, input().split())
print("%.2f"%((x + y + z) / 3))

1010: 求圆的周长和面积

C/C++版

#include <stdio.h>

#define PI 3.14159
int main (void )
{
    double r;
    scanf("%lf",&r);
    printf("%.2f %.2f\n",2*PI*r,PI*r*r);
    return 0;

}

Python版

pi = 3.14159
r = eval(input())
print("%.2f %.2f"%(2 * pi * r, pi * r * r))
这是一道经典的位运算题目,考察对二进制的理解和位运算的熟练程度。 题目描述: 给定一个长度为 $n$ 的数组 $a$,初始时每个数的值都为 $0$。现在有 $m$ 个操作,每个操作为一次询问或修改。 对于询问,给出两个整数 $l,r$,求 $a_l \oplus a_{l+1} \oplus \cdots \oplus a_r$ 的值。 对于修改,给出一个整数 $x$,表示将 $a_x$ 的值加 $1$。 输入格式: 第一行两个整数 $n,m$。 接下来 $m$ 行,每行描述一次操作,格式如下: 1 l r:表示询问区间 $[l,r]$ 的异或和。 2 x:表示将 $a_x$ 的值加 $1$。 输出格式: 对于每个询问操作,输出一个整数表示答案,每个答案占一行。 数据范围: $1 \leq n,m \leq 10^5$,$0 \leq a_i \leq 2^{30}$,$1 \leq l \leq r \leq n$,$1 \leq x \leq n$ 输入样例: 5 5 2 1 2 3 1 2 4 2 2 1 1 5 输出样例: 0 2 解题思路: 对于询问操作,可以利用异或的性质,即 $a \oplus b \oplus a = b$,将 $a_l \oplus a_{l+1} \oplus \cdots \oplus a_r$ 转化为 $(a_1 \oplus \cdots \oplus a_{l-1}) \oplus (a_1 \oplus \cdots \oplus a_r)$,因为两个前缀异或后的结果可以相互抵消,最后的结果即为 $a_1 \oplus \cdots \oplus a_{l-1} \oplus a_1 \oplus \cdots \oplus a_r = a_l \oplus \cdots \oplus a_r$。 对于修改操作,可以将 $a_x$ 对应的二进制数的每一位都分离出来,然后对应位置进行修改即可。由于只有加 $1$ 操作,所以只需将最后一位加 $1$ 即可,其余位不变。 参考代
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

ZZULI_星.夜

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值