Uriel's Corner

Research Associate @ Harvard University / Research Interests: Computer Vision, Biomedical Image Analysis, Machine Learning
posts - 0, comments - 50, trackbacks - 0, articles - 594
难度还行。。
明天机试+面试。。各种紧张中。。向众神、众大牛求光环。。Orz

1. 特殊乘法
    水题不解释
//2010年清华大学计算机研究生机试题 特殊乘法
#include<stdio.h>
#include
<stdlib.h>
#include
<string.h>
 
int ans;
char a[20], b[20];
 
int main() {
    
int l1, l2, i, j;
    
while(~scanf("%s %s", a, b)) {
        l1 
= strlen(a);
        l2 
= strlen(b);
        ans 
= 0;
        
for(i = 0; i < l1; ++i) {
            
for(j = 0; j < l2; ++j) {
                ans 
+= (a[i] - '0'* (b[j] - '0');
            }
        }
        printf(
"%d\n", ans);
    }
    
return 0;
}


2. 整数拆分
    找规律
//2010年清华大学计算机研究生机试题 整数拆分
#include<stdio.h>
#include
<stdlib.h>
#include
<string.h>
#define MOD 1000000000
 
int f[1000010];
 
int main() {
    
int i;
    f[
1= 1; f[2= 2;
    
for(i = 3; i <= 1000000++i) {
        
if(i & 1) f[i] = f[i - 1];
        
else
            f[i] 
= (f[i - 1+ f[i >> 1]) % MOD;
    }
    
while(~scanf("%d"&i)) printf("%d\n", f[i]);
    
return 0;
}


3. 求root(N, k)
    感谢光神指点 Orz
    方法就是用模取幂模板(Orz..天哥模板),注意是求a^b%(k-1),如果a^b%(k-1)==0,则输出k-1,否则输出a^b%(k-1)~
//2010年清华大学计算机研究生机试题 求root(N, k)
#include<stdio.h>
#include
<stdlib.h>
#include
<string.h>
#define I long long
 
I x, y, tp;
int m, k;
 
I mod_exp(I a, I b) {
    I ans 
= 1;
    
while(b) {
        
if(b & 1) ans = ans * a % m;
        a 
= a * a % m;
        b 
>>= 1;
    }
    
return ans;
}
 
int main() {
    
while(~scanf("%lld %lld %d"&x, &y, &k)) {
        m 
= k - 1;
        tp 
= mod_exp(x, y);
        
if(!tp) printf("%d\n", m);
        
else
            printf(
"%lld\n", tp);
    }
    
return 0;
}

Feedback

# re: 清华大学计算机研究生机试题-2010年  回复  更多评论   

2012-03-14 20:30 by Uriel
@凡夫
找规律推出来的。。= =

# re: 清华大学计算机研究生机试题-2010年  回复  更多评论   

2012-03-14 21:39 by 凡夫
哦,谢谢!如果上机真做这样的题,就惨定了……

# re: 清华大学计算机研究生机试题-2010年  回复  更多评论   

2013-03-07 20:05 by yajunw
楼主为什么不把问题描述清楚一些呢

# re: 清华大学计算机研究生机试题-2010年  回复  更多评论   

2014-01-16 19:17 by Uriel
题目OJ上都有,就没复述了@yajunw

只有注册用户登录后才能发表评论。
网站导航: 博客园   IT新闻   BlogJava   博问   Chat2DB   管理