b2b平臺有哪些類別網(wǎng)絡(luò)營銷優(yōu)化
問題描述
對于正整數(shù) n, 如果存在正整數(shù) k 使得 n=1+2+3+?+k=k(k+1)2n=1+2+3+?+k=k(k+1)/2?, 則 n 稱為三角數(shù)。例如, 66066 是一個三角數(shù), 因為 66066=1+2+3+?+36366066=1+2+3+?+363 。 如果一個整數(shù)從左到右讀出所有數(shù)位上的數(shù)字, 與從右到左讀出所有數(shù)位 上的數(shù)字是一樣的, 則稱這個數(shù)為回文數(shù)。例如, 66066 是一個回文數(shù), 8778 也是一個回文數(shù)。 如果一個整數(shù) nn 既是三角數(shù)又是回文數(shù), 我們稱它為三角回文數(shù)。例如 66066 是三角回文數(shù)。 請問, 第一個大于 20220514 的三角回文數(shù)是多少?
答案提交
這是一道結(jié)果填空的題, 你只需要算出結(jié)果后提交即可。本題的結(jié)果為一 個整數(shù), 在提交答案時只填寫這個整數(shù), 填寫多余的內(nèi)容將無法得分。
運行限制
- 最大運行時間:1s
- 最大運行內(nèi)存: 256M
解法代碼
#include <stdio.h> // 包含標(biāo)準(zhǔn)輸入輸出庫
#include <stdlib.h> // 代碼中未使用int main()
{ int x = 0; // 初始化累加和x為0 // 使用for循環(huán)進行無限迭代,i從1開始,每次循環(huán)i增加1 for (int i = 1;; i++) { x += i; // 將當(dāng)前的i值累加到x上 // 檢查累加和x是否大于20220514 if (x > 20220514) { int a = x; // 復(fù)制x的值到a,以便在不修改x的情況下進行反轉(zhuǎn)操作 int b = 0; // 初始化b為0,用于存儲a(即x)的反轉(zhuǎn)數(shù)字 // 使用while循環(huán)反轉(zhuǎn)a的數(shù)字,并累加到b上 while (a != 0) { b = b * 10 + a % 10; // 將a的最后一位數(shù)字加到b上,并移動b的小數(shù)點一位 a = a / 10; // 移除a的最后一位數(shù)字 } // 檢查反轉(zhuǎn)后的數(shù)字b是否與原始數(shù)字x相等(即檢查x是否為回文數(shù)) if (b == x) { printf("%d\n", x); // 如果x是回文數(shù),則打印x break; // 并跳出循環(huán)(因為已經(jīng)找到了第一個符合條件的回文數(shù)) } } } return 0; // 程序正常結(jié)束
}
運行結(jié)果