chuck 有一个正整数 n ,现在他需要把这个正整数拆分为两个正整数 x,y ,使得满足以下条件:
x+y=n
(x*y)%3=0
请找出有多少种不同的( x,y )满足以上条件。
(1,2) 和 (2,1) 是不同的。
输入格式:
第一行一个正整数 n(1<=n<=10^17) 。
输出格式:
一个整数,表示不同的个数。
输入样例:
6
输出样例:
1
输入样例:
10
输出样例:
6
数据范围
对于20%的数据,n<=10^3
对于40%的数据,n<=10^7
对于100%的数据,n<=10^17
#include <stdio.h>
#include<math.h>
int main() {
long long n;
scanf("%lld", &n);
long long int count = 0;
if(n%3==0)
{
count=(n-3)/3;
}
else
{
long long int x=n;
n-=1;
count=n/3;
count*=2;
}
printf("%lld\n", count);
return 0;
}
标签:count,multiple,int,样例,long,倍数,正整数,lld
From: https://blog.csdn.net/weixin_73820357/article/details/143898635