洛谷 练习

B2028 反向输出一个三位数

2023.1.13 阴 happy
题目描述
将一个三位数反向输出,例如输入 358358,反向输出 853853。

输入格式
一个三位数 n。

输出格式
反向输出 n。

输入输出样例
输入 100
输出 001
输入 678
输出 876

思路:对三位数进行除法和取余,得到个、十、百位。

#include<bits/stdc++.h>
using namespace std;
int arr[3];

int main(){
	int n;
	cin>>n;
	int pos = 0;
	while(n){
		int m = n%10;
		n = n/10;
		arr[pos++] = m;
	} 
//输入678 
//1、 m = 8,n = 67, arr[0] = 8, pos = 1
//2、 m = 7, n = 6, arr[1] = 7, pos = 2
//3、 m = 6, n = 0, arr[2] = 6, pos = 3

	for(int i=0; i<3; i++){
		cout<<arr[i];
	} 
	
	return 0;
} 

万能头文件

#include<bits/stdc++.h>

关键语句:

while(n){
		int m = n%10;
		n = n/10;
		arr[pos++] = m;
	} 

2023.1.15 cold angry->happy~ (干事业好快乐,忘记一些烦恼

B2089 数组逆序重存放

题目描述
将一个数组中的值按逆序重新存放。例如,原来的顺序为 8,6,5,4,18,6,5,4,1。要求改为 1,4,5,6,81,4,5,6,8。

输入格式
输入为两行:第一行数组中元素的个数 n(1<n≤100),第二行是 n 个整数,每两个整数之间用空格分隔。

输出格式
输出为一行:输出逆序后数组的整数,每两个整数之间用空格分隔。

输入输出样例
输入
5
8 6 5 4 1
输出
1 4 5 6 8

思路:输入存放进数组的时候,逆序存放,再顺序输出即可

#include<bits/stdc++.h>
using namespace std;

int main(){
	int n;
	cin>>n;
	
	int arr[n];
	for(int i=n-1; i>=0; i--){
		cin>>arr[i];
	}
	
	for(int i=0; i<n; i++){
		cout<<arr[i];
		cout<<" "; 
	}

	return 0;
} 

?:输出的空格还能咋搞呀

B2145 digit函数

题目描述
在程序中定义一函数digit(n,k),它能分离出整数 n 从右边数第 k 个数字。

输入格式
正整数 n 和 k。

输出格式
一个数字。

输入输出样例
输入
31859 3
输出
8

说明/提示
n≤10^9
k≤10。

思路:对整数进行除法运算,然后取余得到末尾即为结果。

#include<bits/stdc++.h>
using namespace std;

int digit(int n, int k){
	for(int i=0; i<k-1; i++){
		n = n/10;
	}
	
	//n = n/10^k;
	//n = n%10;
	
	cout<<n%10;
}

int main(){
	int n;
	cin>>n;
	
	int k;
	cin>>k;
	 
	digit(n, k);
	
	return 0;
}

1、for循环对数字进行除法

for(int i=0; i<k-1; i++){
		n = n/10;

不过为啥不能直接除10的k次方呀,明天问问,(今天某人嗨皮到选择性看不到我消息[/微笑]
int
2、digit函数前要加 int
不加 int 也可以运行,但是会报错。原因明天补充。

3、说明提示
需要在题目里给出规范吗,明天问!

B2071 余数相同问题

题目描述
已知三个正整数 a,b,c。现有一个大于 1 的整数 x,将其作为除数分别除 a,b,c,得到的余数相同。

请问满足上述条件的 x 的最小值是多少?数据保证 x 有解。

输入格式
一行,三个不大于 1000000 的正整数 a,b,c,两个整数之间用一个空格隔开

输出格式
一个整数,即满足条件的 x 的最小值。

输入输出样例
输入
300 262 205
输出
19

思路:emm…有点问题,明天写

在这里插入代码片

为什么还是小白…什么时候能进阶大佬呀T_T,这个寒假可以吗,许个愿,上岸变大佬,Fighting!!!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值