在一行上输入一个长度不超过
的字符串。具体的规范为:仅包含三个无符号十进制整数
,形如
;数字
与
间使用一个半角逗号间隔;省略号部分由三个连续半角句号构成,且前后各有一个半角逗号。
在一行上输出一个整数代表被省略的数字数量。
2,3,...,7
3
1,2,...,100000000
99999997
a,b,c,d = (map(str,input().split(",")))
print(int(d)-int(a)-2) #include <iostream>
#include <string>
#include <vector>
#include <algorithm>
using namespace std;
int main() {
string str;
while (cin >> str) { // 注意 while 处理多个 case
int len = str.length();
int pos = len - 1;
long long a = 0, b = 0, c = 0;
int cnt = 0;
vector<char> vc, vb, va;
while (pos >= 0) {
while (str[pos] != ',') {
vc.push_back(str[pos]);
pos--;
}
pos -= 5;
while (str[pos] != ',') {
vb.push_back(str[pos]);
pos--;
}
pos = -1;
}
reverse(vc.begin(), vc.end());
reverse(vb.begin(), vb.end());
for (auto iter = vc.begin(); iter != vc.end(); ++iter) {
c = c * 10 + *iter - '0';
}
for (auto iter = vb.begin(); iter != vb.end(); ++iter) {
b = b * 10 + *iter - '0';
}
cout << c - b - 1 << endl;
}
}
// 64 位输出请用 printf("%lld") a = input().split(',') for i in range(len(a)): if a[i] == '...': n = int(a[i+1])-int(a[i-1])-1 print(n)
#include <stdio.h>
int main() {
long int a, b,c;
scanf("%ld,%ld,...,%ld",&a,&b,&c);
printf("%ld",c-b-1);
return 0;
} 设置输入格式+长整型即可。这种简单的题就喜欢把例子的数搞的特别大
用str来保存控制台输入的字符串,用“,”来分割成字符数组,用字符数组最后一个数减去第一个数再减2即得到答案。注意要用Long把字符转换为long类型整数,不然不行。7.17
import java.util.Scanner;
// 注意类名必须为 Main, 不要有任何 package xxx 信息
public class Main {
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
// 注意 hasNext 和 hasNextLine 的区别
while (in.hasNextLine()) { // 注意 while 处理多个 case
String str = in.nextLine();
String[] strmap = str.split(",");
Long last = Long.valueOf(strmap[strmap.length - 1]);
Long pre = Long.valueOf(strmap[1]);
System.out.println(last - pre - 1);
}
}
} k=input().split(',')
k.remove('...')
a=int(k[1])
b=int(k[-1])
print(b-a-1)