方法一:
1.注意数据范围
2.s=n/2下取整
3.带入公式
方法二:
以string类型读取,只有当string中只有一个字符且为‘1’时,才会输出0.
#include <iostream> using namespace std; int main() { long long n; scanf("%lld",&n); //数据范围大,cin慢 long long s=n/2; //下取整 s*=2; printf("%lld",s+n%2); return 0; }
import java.util.Scanner; public class Main { public static void main(String[] args) { Scanner sc = new Scanner(System.in); Long x=sc.nextLong(); System.out.println((x/2)*2+x%2); //带公式 } }
以string类型读取,只有当string中只有一个字符且为‘1’时,才会输出0. import java.util.Scanner; public class Main{ public static void main(String[] args){ Scanner in = new Scanner(System.in); String str = in.next(); if(str.length()==1&&str.charAt(0)=='1'){ System.out.println("0"); } else{ System.out.println(str); } } }