京东数据与算法岗之欲哭无泪了

第一道可能我自己的问题,第二道为什么赛码通不过。。。。。
上题:
题目描述:
小B热衷于体育运动赛事活动,这样她就可以发挥自己的一项特长——赛事解说。小B因为自身的高颜值,加之评论犀利到位、语言诙谐,因此拥有一大批粉丝。

一年一度的运动会又即将开始,这将是一个激动人心的季节,每个人都有自己的目标:运动员希望奋力争夺奖牌,观众希望欣赏到心仪运动员的精彩表现,解说员则要争抢更方便的位置以便观看和评论。

今天的赛事在三个圆形的运动场同时举行,小B希望能够在此次的赛事解说中再展风姿,占据最佳的观察点,从而能够观看所有运动场上的比赛。由于今天的所有赛事同等重要,她希望以相同视角(观察点到运动场边缘切线的夹角)观看运动场。如果满足条件的观察点不止一个,她希望首选具有最大视角的观察点。

小B对寻找观察点不是很在行,她希望请你帮忙寻找最合适的观察点。需要指出的是,运动场馆都是露天的,解说员的视线不受遮挡。
输入
输入中有多组测试数据。每组测试数据包含3行,每行代表一个运动场。每行的格式为x y r,其中(x, y)为运动场中心的坐标,r为运动场的半径,-1000<=x, y<=1000,1<= r <=1000。所有数据均为正数,运动场互不相交(无公共点)且其中心点不在同一直线上。
输出
对每组测试数据,若存在最佳观察点,则在单独的一行里输出改点的坐标(保留6位小数),否则输出“No”。

样例输入
0 0 10
60 0 10
30 30 10
样例输出
30.000000 0.000000


小明同学学习了不同的进制之后,拿起了一些数字做起了游戏。小明同学知道,在日常生活中我们最常用的是十进制数,而在计算机中,二进制数也很常用。现在对于一个数字x,小明同学定义出了两个函数f(x)和g(x)。
f(x)表示把x这个数用十进制写出后各个数位上的数字之和。如f(123)=1+2+3=6。
g(x)表示把x这个数用二进制写出后各个数位上的数字之和。如123的二进制表示为1111011,那么g(123)=1+1+1+1+0+1+1=6。
小明同学发现对于一些正整数x满足f(x)=g(x),他把这种数字称为幸运数,现在他想知道,小于等于n的幸运数有多少个。
输入
第一行一个整数T(T<=10000)表示数据组数,每组数据输入一个数n(n<=100000)。
输出
每组数据输出一行,小于等于n的幸运数个数。

样例输入
3
1
5
21
样例输出
1
1
3

Hint
小于等于21的三个幸运数分别为:1,20,21。
第一道代码我就不上传,太难看的代码,第二道,各位看官,我为什么就通不过==
#include<iostream>
using namespace std;
int f(int n){
	int t=n;
	int res=0;
	while(t>0){
		res+=t%10;
		t=t/10;
	}
	return res;
}
int g(int n){
	int t=n;
	int res=0;
	while(t>0){
		res+=t%2;
		t=t/2;
	}
	return res;
}

int main(){
	int T;
	cin>>T;
	for(int ss=0;ss<T;ss++){
		int n;
		cin>>n;
		int count=0;
		for(int i=1;i<=n;i++){
			if(f(i)==g(i)){
				count++;
			}
		}
		cout<<count<<endl;
	}
	return 0;
}


认真想一下,其实编程题目真心不难,关键在于平时的编码习惯以及严谨的思维
	


全部评论
//运行过了,能通过,可以试试这个代码 #include<iostream> using namespace std; int f(int m) {     int sum1=0;     while(m>0)     {         sum1+=(m%10);         m=m/10;     }     return sum1; } int g(int n) {     int sum2=0;     while(n>0)     {         sum2+=(n%2);         n=n/2;     }     return sum2; } int main() {     int n;     int sum=0;     cin>>n;     if(n>=1 && n<=100000)     {         for(int i=1;i<=n;i++)         {            // int a=f(i);            // int b=g(i);            // if(a==b)             if(f(i)==g(i))             {                 sum++;             }         }     }     cout<<sum;     return 0; }
点赞 回复 分享
发布于 2018-08-21 09:32
投递的是数据开发,选择题一半机器学习的题,跪了
点赞 回复 分享
发布于 2016-09-06 10:14
为啥同一个岗位,不同题目的啊~
点赞 回复 分享
发布于 2016-09-06 10:02
第一道题可以用模拟退火法做数值计算 http://blog.csdn.net/snowy_smile/article/details/50131317
点赞 回复 分享
发布于 2016-09-06 09:51
我只求了最大那个数。。然后都知道结果了。
点赞 回复 分享
发布于 2016-09-06 00:26
选择题基本不会。。。。
点赞 回复 分享
发布于 2016-09-05 22:11
一个一个求解,就是会超时
点赞 回复 分享
发布于 2016-09-05 21:33
不知道它这个是怎么判题的,我也是这样输入一个求解一个,但是用下面的办法是可以ac的。 import java.util.Scanner; public class Main { public static void main(String args[]) { boolean[] B = new boolean[100000 + 1]; for (int i = 1; i < 100000 + 1; i++) { int binary =g(i); int ten = f(i); if (binary == ten) B[i] = true; } Scanner cin = new Scanner(System.in); int times = cin.nextInt(); for (int i = 0; i < times; i++) { int n = cin.nextInt(); int count = 0; for (int j = 1; j <= n; j++) {{ if (B[j]) count++; } } System.out.println(count); } } private static int f(int num){ String str = String.valueOf(num); int sum = 0; for(int i = str.length() - 1;i>=0;i--){ sum+=Integer.valueOf(str.charAt(i)+""); } return sum; } private static int g(int num){ String str = Integer.toBinaryString(num); int sum = 0; for(int i = 0;i<str.length();i++){ sum+=Integer.valueOf(str.charAt(i)+""); } return sum; } }
点赞 回复 分享
发布于 2016-09-05 21:29
第一道怎么做的,第二道先设一个100000大小的数组,dp把所有结果求出来,然后根据输入直接读就好了
点赞 回复 分享
发布于 2016-09-05 21:28
很明显要打表啊。。。。也就是简单DP算是,不能把原来计算的结果浪费掉
点赞 回复 分享
发布于 2016-09-05 21:26
我Java也是,本地妥妥的,当我带着自信和微笑复制粘贴的时候,---------------你TM在逗我?
点赞 回复 分享
发布于 2016-09-05 21:25
我用python 本地没问题,在线也是死活不能通过。
点赞 回复 分享
发布于 2016-09-05 21:14
超时了吧,另外用scanf。不然我o1的算法都超时
点赞 回复 分享
发布于 2016-09-05 21:14

相关推荐

“无名小卒,还是名扬天下?”我知道很多人都不觉得我能走到今天这一步,当然,也包括我自己。在我的人生里,有两部作品刻下了最深的烙印:《斗破苍穹》与《龙族》。它们总被人拿来对照:一边是萧炎的桀骜轻狂,一边是路明非的怯懦衰颓。有人说,天蚕土豆没见过魂天帝,但江南见过真凯撒。我时常觉得,自己就是那个衰小孩路明非。可路明非可以开挂,我不可以;我也无数次幻想过,能拥有萧炎那般年少轻狂的人生,可我没有他与生俱来的逆天天赋。我只是个平庸的普通人,一个看过《斗破苍穹》却开不了挂的路明非,只能一步一步往上爬。从我下定决心找实习的那一刻起,我就给自己定下了目标:“我一定要为字节跳动卖命.jpg”。萧炎有他的三年之约,我有我的两年半之约(其实是一年半)。2024.11.20,科大讯飞的第一封实习offer落进邮箱,我迈出了这场奔赴的第一步。2025.8.18,放弃百度转正的安稳机会,转身走进前路未卜的不确定里。2025.11.14,我选择走进字节跳动,以实习生的身份重新出发。2026.3.25&nbsp;-&nbsp;3.31,一周速通上海飞书,幸遇赏识我的伯乐,斩获Special&nbsp;Offer。被告知面试通过的那一刻,我的内心无比平静,就像这个offer本就该属于我。不是侥幸,是应得的。这一路,有人看轻过我的出身,不相信我能走到这里;也有人在我看不见前路的时候,替我举过灯。没有他们的鼓励与支撑,就没有今天站在这里的我。我看到了自强不息的激荡,那是一个双非的伟大乐章!我是雨夜迈巴赫,我要开启属于我的新篇章了。
在看牛客的本杰明很勇...:真心祝贺l总 我永远的偶像 我滴神
春招至今,你收到几个面试...
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务