package main

import "fmt"

func main() { var m, i, j, l, len, k int ans := make([]int, 1000) num := make([]int, 10000) fmt.Scan(&m) if m == 3 || m == 4 { fmt.Printf("%d %d\n%d", 1, m-1, m-1) } else { l = 1 len = 0 k = 0 for i = 2; ; i++ { if m >= i { num[len] = i len++ m -= i } else { break } } for i = len - 1; i >= 0; i-- { if m > 0 { num[i]++ m-- } else { break } } for i = 0; i < len; i++ { for j = 0; j < l; j++ { ans[j] = ans[j]*num[i] + k k = ans[j] / 10000 ans[j] %= 10000 } if k != 0 { ans[j] = k k = 0 l++ } } fmt.Printf("%d", num[0]) for i = 1; i < len; i++ { fmt.Printf(" %d", num[i]) } fmt.Printf("\n%d", ans[l-1]) for i = l - 2; i >= 0; i-- { fmt.Printf("%d", ans[i]) } }

#includestdiohint main	int mijl=1len=0k=0;	int ans1000=1num10000=0;	scanfd&m;	ifm==3 m==4		printfd dnd1m-1m-1;	else		fori=2;;i++		ifm=i			numlen++=i;			m-=i;		else break;		fori=len-1;i=0;i--对于剩余的数从后往

原文地址: https://www.cveoy.top/t/topic/hPHI 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录