这类题目较为简单,就不写解析了,提供三种语言的参考代码,欢迎在评论区讨论!
分离整数的各个位数
cpp
#include<iostream>
using namespace std;
int main(){
int n;
cin>>n;
while(n>0){
cout<<n%10<<" ";
n=n/10;
}
return 0;
}
python
n = int(input())
while n > 0:
print(n % 10, end=' ')
n = n // 10
java
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
int n = scanner.nextInt();
while (n > 0) {
System.out.print(n % 10 + " ");
n = n / 10;
}
scanner.close();
}
}
数字统计
cpp
#include<iostream>
using namespace std;
int main()
{
//读入L和R
int L,R;
cin>>L>>R;
//范围[L, R]的所有整数
int sum = 0;//sum和
for(int i = L;i<=R;i++){//i遍历了L到R的所有数字
int j = i;//i在循环里发生了变化,应该用别的数来存i。
while(j>0){
if(j%10==2){//判断此时的个位数是否是数字2.
sum++;
}
j/=10;
}
}
//输出
cout<<sum;
return 0;
}
python
L, R = map(int, input().split())
sum_count = 0
for i in range(L, R + 1):
j = i
while j > 0:
if j % 10 == 2:
sum_count += 1
j //= 10
print(sum_count)
java
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
int L = scanner.nextInt();
int R = scanner.nextInt();
int sumCount = 0;
for (int i = L; i <= R; i++) {
int j = i;
while (j > 0) {
if (j % 10 == 2) {
sumCount++;
}
j /= 10;
}
}
System.out.println(sumCount);
scanner.close();
}
}
与7无关的数
cpp
#include<iostream>
using namespace std;
bool isRelated(int n)
{
if(n % 7 == 0) // 能被7整除
return true;
while(n) // 数字上有7
{
if(n % 10 == 7)
return true;
n /= 10;
}
return false;
}
int main()
{
int n, sum = 0;
cin >> n;
for(int i = 1; i <= n; i++)
if(!isRelated(i)) // 如果与7无关
sum += i * i;
cout << sum << endl;
return 0;
}
python
def is_related(n):
if n % 7 == 0: # 能被7整除
return True
while n > 0: # 数字中有7
if n % 10 == 7:
return True
n //= 10
return False
n = int(input())
sum_of_squares = 0
for i in range(1, n + 1):
if not is_related(i): # 如果与7无关
sum_of_squares += i * i
print(sum_of_squares)
java
import java.util.Scanner;
public class Main {
public static boolean isRelated(int n) {
if (n % 7 == 0) { // 能被7整除
return true;
}
while (n > 0) { // 数字中有7
if (n % 10 == 7) {
return true;
}
n /= 10;
}
return false;
}
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
int n = scanner.nextInt();
int sumOfSquares = 0;
for (int i = 1; i <= n; i++) {
if (!isRelated(i)) { // 如果与7无关
sumOfSquares += i * i;
}
}
System.out.println(sumOfSquares);
scanner.close();
}
}