一道笔试题的搞笑解法
2012-06-26 22:38 javaspring 阅读(174) 评论(0) 编辑 收藏 举报原题是
设计一个程序,求出712的729次方的最后4位数是多少?
对于这道题目,我们可以规规矩矩的用一般方法解决,但更搞笑的是还有另种方法。我先贴出普通方法的代码
#include <iostream.h>
void main()
{
int result=1;
for(int i=0;i<729;i++)
{
result=result*712;
if(result>=10000)
result=result%10000;
}
cout<<result<<endl;
}
但更搞笑的是下面的Java代码
import java.math.BigInteger;
public class Algorithm {
public static void main(String []args)
{
BigInteger s1=BigInteger.valueOf(1);
BigInteger s2=BigInteger.valueOf(712);
for(int i=0;i<729;i++)
{
s1=s1.multiply(s2);
}
System.out.println(s1.toString());
}
}
用这种代码算出的结果是
287022115619204242094996863275012651610118320438731629146366903695428737973762980582807021 882359201136780865734580823703185610660096665135935034923812513829056609425157185910981367 483957426244158026395048727131658953752539849261131524040647245722353696061549540330669335 382805999366419843165508716006568081045572299797080240377903538967182877007112784194074063 045910278951771322944188443280930755055603891687792905288066084657917310340591847473121783 526536128857349938153654925591072003641406846682749216583645400650608724166584263215805730 327991025714466023391155363349912753289204979200202930424108994212756956894228131045011045 104302660087018507774213939390379395043985468952596148421277076689733945154825467033404374 633634293157264566482149387616789997290462410958503346278382916689567443784542064722038245 802839172778972702291451883459643398961955142914408154046476879647366526727782365625363658 184291223627240151310178388911588826615055640945601937928963217798796130462010892575389799 979284974266285531969324476893545473191436562904986432070748600255656017578189946620365359 076926161713011662420855868158927452424699904958493725130585798998346721071103020562482239 086800521787224424893941285585026173353090612068150731835391241959203629783612667114421848 264448852570426010306935802715311153544450884254992641142431908703434871166060616736482291 551512183842843416472073153119335914241515766760435107892298307946751569900638000736945160 821252981132769478582425474407728913059837663817484456811733949564113139446417226835058958 248191531342921921938114838354899219125039231764985602822464248210222601847609716775799016 971349309165219197572427105712578955612225082061318844050979553813497192992359782375550081 681555924158887663365614276959406559124697102789075771065752062639092838052543549124030697 705460759675117789505358108965398202525719192851425275658963218145317306018594148878791058 944984190905398548356574676205366664477297886734905922825559501943869355370779918393382939 802975316095624455628784080884525199050259498883072920429022838489620958090181115097963551 7694410752
使用这种方法,别说是最后四位,前四位也可以算出来。完全无视出题人的苦心。呵呵。大神就在CSDN。