首页 > 代码库 > 2014年百度之星程序设计大赛 资格赛第一题 (longlong)
2014年百度之星程序设计大赛 资格赛第一题 (longlong)
解题思路:
只要看(A-V)*K 这个公式的更新值是否大于等于A ,大于的话继续循环,否则报错
注意一点,数据会爆int
WA代码:
#include<stdio.h> int main(){ long long n ,m, v, k; int t; scanf("%d",&t); while(t--){ scanf("%lld%lld%lld%lld",&n,&m,&v,&k); int cnt = 0; while(m < n){ if( (m - v) * k <= m ){ cnt = -1; break; } m = (m - v) * k ; ++cnt; } printf("%d\n",cnt); } return 0; }
AC代码:
#include <iostream> using namespace std; int main(){ long long n ,m, v, k; int t; cin >> t; while(t--){ cin >> n >> m >> v >> k; int cnt = 0; while(m < n){ if( (m - v) * k <= m ){ cnt = -1; break; } m = (m - v) * k ; ++cnt; } cout << cnt << endl; } return 0; }
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。