1 条题解
-
0
C :
#include<stdio.h> int erJin(int x) { int y,a=0,b=0; while(x>0){ y=x%2; if(y==1){ a++; }else{ b++; } x/=2; } if(a>b){ return 1; }else{ return 0; } } int main(){ int n; scanf("%d",&n); int i,a=0,b=0; for(i=1;i<=n;i++){ if(erJin(i)){ a++; }else{ b++; } } printf("%d %d",a,b); return 0; }C++ :
#include<iostream> using namespace std; bool pd(int n); int main(){ int n=0; cin>>n; int a=0,b=0; for(int i=1;i<=n;i++){ if(pd(i)) a++; else b++; } cout<<a<<" "<<b; } bool pd(int n){ int x=n; int y=0; int a=0,b=0; while(x!=0){ y=x%2; x=x/2; if(y==0) b++; else a++; } if(a>b) return true; else return false; }Pascal :
var m,i,k,a,b,l,p:longint; begin readln(m); for i:=1 to m do begin k:=i; l:=0; p:=0; while k<>0 do begin if k mod 2=1 then inc(l) else inc(p); k:=k div 2; end; if l>p then inc(a) else inc(b); end; writeln(a,' ',b); end.Java :
import java.util.Scanner; public class Main{ public static void main(String[] args) { int n=new Scanner(System.in).nextInt(); int numA=0; int numB=0; for(int i=1;i<=n;i++){ if(isA(i)){ numA++; }else{ numB++; } } System.out.println(numA+" "+numB); } public static boolean isA(int n){ String binaryString=Integer.toBinaryString(n); char[] charArray=binaryString.toCharArray(); int num0=0; int num1=0; for(int i=0;i<charArray.length;i++){ if(String.valueOf(charArray[i]).equals("1")){ num1++; }else{ num0++; } } if(num0>=num1){ return false; }else{ return true; } } }Python :
n=int(input()) s1=s2=0 for i in range(1,n+1): s=bin(i) s=s[2:] if s.count("1")>s.count("0"): s1=s1+1 else: s2=s2+1 print(s1,s2)
- 1
信息
- ID
- 136
- 时间
- 1000ms
- 内存
- 512MiB
- 难度
- 10
- 标签
- 递交数
- 5
- 已通过
- 2
- 上传者