A、无法重启的2020
题目描述
- 2020年,病毒肆掠,洪水泛滥,科比离世,球王归天…但是并没有办法重启!有人对2020这个数字产生了兴趣,因为它是一个ABAB风格的数字。
- 现在输入一个四位数,请编写一个程序判断它是否符合ABAB的风格。
输入
- 每行输入一个四位数
输出
- 若满足输出’Yes’ 否则输出’No’
样例输入 Copy
1234
1919
样例输出 Copy
No
Yes
java代码:
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
// TODO Auto-generated method stub
Scanner sc = new Scanner(System.in);
int n,a,b,c,d;
while(sc.hasNext()){
n = sc.nextInt();
if(n>999&&n<=9999){
a = n/1000;
b = n/100%10;
c = n/10%10;
d = n%10;
if(a==c&&b==d&&a!=b){
System.out.println("Yes");
}
else
System.out.println("No");
}
}
System.out.println();
}
}
C语言代码:
#include <stdio.h>
int main(){
int n,a,b,c,d;
while(scanf("%d",&n)!=EOF){
a = n/1000;
b = n/100%10;
c = n/10%10;
d = n%10;
if(a==c&&b==d&&a!=b){
printf("Yes\n");
}
else
printf("No\n");
}
return 0;
}
B、判断整除
题目描述
- 判断一个整数能否同时被3和5整除。
输入
- 一个整数n。
输出
- 如果n是能同时被3和5整除,输出“can”,否则请输出“cannot”。
- 请注意不需要输出引号,行尾输出换行。
样例输入 Copy
14
样例输出 Copy
cannot
java代码:
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
// TODO Auto-generated method stub
Scanner sc = new Scanner(System.in);
int n;
while(sc.hasNext()){
n = sc.nextInt();
if(n%3==0&&n%5==0)
System.out.println("can");
else
System.out.println("cannot");
}
System.out.println();
}
}
C语言代码:
#include <stdio.h>
int main(){
int n;
while(scanf("%d",&n)!=EOF){
if(n%3==0&&n%5==0)
printf("can\n");
else
printf("cannot\n");
}
}
C、求最大公约数
题目描述
- 读入两个正整数m和n,计算m和n的最大公约数。
输入
- 两个空格隔开的正整数m和n。
输出
- m和n的最大公约数。注意行尾输出换行。
样例输入 Copy
35 14
样例输出 Copy
7
java代码:
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
// TODO Auto-generated method stub
Scanner sc = new Scanner(System.in);
int m,n,r,p;
while(sc.hasNext()){
m = sc.nextInt();
n = sc.nextInt();
if (m < n) {//将输入的两个数调整位置,m 是较大的那个数,n 是较小的那个数
m = m + n;
n = m - n;
m = m - n;
}
p = m*n;
while(m != 0) //通过循环求两数的余数
{
r = n % m; //r为余数
n = m;
m = r;
}
System.out.println(n);
}
System.out.println();
}
}
C语言代码:
#include <stdio.h>
int main(){
int m,n,temp,p,r;
while(scanf("%d,%d",&n,&m)!=0){
if(n < m){
temp = n;
n = m;
m = temp;
}
p = m*n;
while(m != 0) //通过循环求两数的余数
{
r = n % m; //r为余数
n = m;
m = r;
}
}
printf("%d\n",n);
return 0;
}
(平台测试说时间超限了,还在改善中,这是参考了某位大佬的原C语言代码,但是我忘记是谁了,在此致歉😭😭😭)
D、判断闰年
题目描述
- 输入一个2000至2500年间(包含2000年和2500年)的任意年份,判断是否是闰年。
输入
- 输入一个整数year,表示年份。输入保证2000≤year≤2500。
输出
- 如果输入的年份是闰年,请输出“leap year”,否则请输出“not leap year”。
- 请注意不需要输出引号,行尾输出换行。
样例输入 Copy
2000
样例输出 Copy
leap year
java代码:
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int n;
while(sc.hasNext()){
n = sc.nextInt();
if(2000<=n&&n<=2500){//满足以下两个条件的整数才可以称为闰年:
//(1)能被4整除但不能被100整除;
//(2)能被400整除;
if((n%400==0)||(n%100!=0&&n%4==0))
System.out.println("leap year");
else
System.out.println("not leap year");
}
}
}
}
C语言代码:
//满足以下两个条件的整数才可以称为闰年:
//(1)能被4整除但不能被100整除;
//(2)能被400整除;
#include <stdio.h>
int main(){
int a;
while(scanf("%d",&a)!=EOF){
if(2000<=n&&n<=2500){
if((a%400==0)||(a%100!=0&&a%4==0))
printf("leap year\n");
else
printf("not leap year\n");
}
}
return 0;
}
C语言代码平台测试没通过,发生了编译错误,java代码没问题,如果有朋友发现了问题,欢迎指正,等待你的到来
E、判断素数
题目描述
- 输入一个大于等于3的正整数,判断其是否是素数。
输入
- 一个大于等于3并小于10000的正整数n。
输出
- 如果n是素数,输出“prime”,否则请输出“not prime”。
- 请注意不需要输出引号,行尾输出换行。
样例输入 Copy
17
样例输出 Copy
prime
java代码:
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
// TODO Auto-generated method stub
Scanner sc = new Scanner(System.in);
int n;
int flag = 0;
while(sc.hasNext()){
n = sc.nextInt();
if(n>=3&&n<=10000){
for(int i=2;i<n;i++){
if(n%i==0){
flag = 1;
}
}
if(flag==0)
System.out.println("prime");
else
System.out.println("not prime");
}
}
}
}
这个java语言编译时通过了的,但是我根据java语言写C语言还是编译错误,慢慢找错误,ε=(´ο`*)))唉
万事终将变好