宋孝武帝听到他的名气,派他到一个专门研究学术的官署“华林学省”工作。他对做官并没有兴趣,但是在那里,可以更加专心研究数学、天文了。
我国历代都有研究天文的官,并且根据研究天文的结果来制定历法。到了宋朝的时候,历法已经有很大进步,但是祖冲之认为还不够精确。他根据他长期观察的结果,创制出一部新的历法,叫做“大明历”(“大明”是宋孝武帝的年号)。这种历法测定的每一回归年(也就是两年冬至点之间的时间)的天数,跟现代科学测定的相差只有五十秒;测定月亮环行一周的天数,跟现代科学测定的相差不到一秒,可见它的精确程度了。
公元462年,祖冲之请求宋孝武帝颁布新历,孝武帝召集大臣商议。那时候,有一个皇帝宠幸的大臣戴法兴出来反对,认为祖冲之擅自改变古历,是离经叛道的行为。 祖冲之当场用他研究的数据回驳了戴法兴。戴法兴依仗皇帝宠幸他,蛮横地说:“历法是古人制定的,后代的人不应该改动。”祖冲之一点也不害怕。他严肃地说:“你如果有事实根据,就只管拿出来辩论。不要拿空话吓唬人嘛。”宋孝武帝想帮助戴法兴,找了一些懂得历法的人跟祖冲之辩论,也一个个被祖冲之驳倒了。但是宋孝武帝还是不肯颁布新历。直到祖冲之死了十年之后,他创制的大明历才得到推行。
尽管当时社会十分动乱不安,但是祖冲之还是孜孜不倦地研究科学。他更大的成就是在数学方面。他曾经对古代数学着作《九章算术》作了注释,又编写一本《缀术》。他的最杰出贡献是求得相当精确的圆周率。经过长期的艰苦研究,他计算出圆周率在3.1415926和3.1415927之间,成为世界上最早把圆周率数值推算到七位数字以上的科学家。
祖冲之在科学发明上是个多面手,他造过一种指南车,随便车子怎样转弯,车上的铜人总是指着南方;他又造过“千里船”,在新亭江(在今南京市西南)上试航过,一天可以航行一百多里。他还利用水力转动石磨,舂米碾谷子,叫做“水碓磨”。
祖冲之晚年的时候,掌握宋朝禁卫军的萧道成灭了宋朝。