求x,使x的平方為一個各位數字互不相同你的9位數
(1)設定10個元素的狀態陣列p,記錄數字0-9在x平方中出現的情況,陣列
元素都賦初值為1,表示數字0-9沒有被使用過
(2)對嘗試的每一個數x,求x平方,並取其各個位數字,數字作為陣列下標,
若對應元素為1,則該數字第一次出現,將對應的元素賦為0,表示該數字已
出現一次。否則,若對應元素為0,則說明有重複數字,結束這次嘗試
(3)當狀態陣列p中有9個元素為0時,就找到了問題的解。但這樣判定有解,
需要掃描一遍陣列p。為避免這個步驟,設定一個計數器k,再取x平方各個位
數字的過程記錄不同的數字的個數,當k=9時就找到了問題的解
*/
#include<stdio.h>
int main()
{
long x,y1,y2;
int p[10],i,t,k,num=0;
for(x=10000;x<=32000;x++)
{
for(i=0;i<=9;i++)
p[i]=1;
y1=x*x;
y2=y1;
k=0;
for(i=1;i<=9;i++)
{
t=y2%10;//拆分y2
y2=y2/10;
if(p[t]==1)
{
k=k+1;
p[t]=0;
}
else
break;
}
if(k==9)
{
num=num+1;
printf("num = %d , x = %ld , y1 = %ld\n",num,x,y1);
}
}
相關推薦
求x,使x的平方為一個各位數字互不相同你的9位數
/*(1)設定10個元素的狀態陣列p,記錄數字0-9在x平方中出現的情況,陣列元素都賦初值為1,表示數字0-9沒有被使用過(2)對嘗試的每一個數x,求x平方,並取其各個位數字,數字作為陣列下標,若對應元素為1,則該數字第一次出現,將對應的元素賦為0,表示該數字已出現一次。否則
假設你有一個各位數字互不相同的四位數,把所有的數字從大到小排序後得到a,從小到大後得到b,然後用a-b替換原來這個數,並且繼續操作。例如,從1234出發,依次可以得到4321-1234=3087、87
#include<stdio.h>int main(){int n;while(~scanf("%d",&n)){int i,j=0,k,s;int a[300],b[300],c[300];for(i=0; i<n; i++){s=0;scanf
PHP,json_encode函式對於ObjectId的轉換時,使其結果為一個字串
在一個PHP專案中使用了mongodb,然後自己對於模型層做了個簡單的封裝,期間遇到了json編碼模型物件的問題,因為mongoDB的_id,是ObjectId物件,所以在json編碼時,結果集會出現以下情況: {"name":"Jon Jonsson","_id":{ "$oid" : "56
求一個區間裡的一個x,這個x與這區間裡面的所有數都互質
連結:https://ac.nowcoder.com/acm/contest/301/H來源:牛客網 題描述 小樂樂上了一節數學課,數學老師講的很好,小樂樂聽的也如痴如醉。 小樂樂聽了老師的講解,知道了什麼是素數,現在他想做幾個習題。 現在題目來了: 首先我們先定義孤獨的數
矩陣找數--一個m*n的矩陣,從左到右從上到下都是遞增的,給一個數x,判斷x是否在矩陣中。要求效率儘可能的高。
思路一:迴圈找 效率差 思路二: 因為從左到右從上到下都是遞增的。 所以用數字和右上角的數字比較 如果要找的數字是7,則數字先與9比。比9小說明在9的左側。 再與8比,比8小,說明在8的左側。 與2比,比2大,在2的下側。 比4大,在4的下側
一個m*n的矩陣,從左到右從上到下都是遞增的,給一個數x,判斷x是否在矩陣中。(高效率)
這樣的矩陣可以使用一個二維陣列儲存,知道了矩陣的特點,選取一個元素時可以將矩陣分割槽 可以看到隨意選一個元素的話會分成四個區域,陰影部分是可能的區域,深色的是確定比要查詢的大或者小,淺色陰影是有可能,所以下一步的動作很難確定,因此,隨意取一個點進行比較然後
點擊頁面的按鈕,使之打開一個新窗口,加載一個頁面的方法有哪些呢?
body del .html blank oca pos type target put 1.<base target="_blank" /> 頁面只要有a標簽,都會打開一個新的頁面; 2.<input type=‘button‘ value=‘new‘
二分查找(等於x,小於x,小於等於x,大於x,大於等於x )
bsp long long iostream 大於等於 std con cto for clu //等於x//小於x//小於等於x//大於x//大於等於x 1 #include <cstdio> 2 #include <cstdlib> 3
ListView新增simple介面卡,使ListView可以顯示一個ImageView和兩個textview
1.首先在activity_main.xml中建立ListView控制元件 <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android
第三十九講專案4——輸入一個正整數,判斷其是否為一個迴文數
程式程式碼 #include <stdio.h> #include <stdlib.h> /* *csdn學院--2016級 *目的:讓程式碼見證成長(作為一個初學的菜鳥,如
hadoop的架構模型(1.x,2.x的各種架構模型介紹)
1.x的版本架構模型介紹 檔案系統核心模組: NameNode:叢集當中的主節點,主要用於管理叢集當中的各種資料 secondaryNameNode:主要能用於hadoop當中元資料(後文解釋)資訊的輔助管理 DataNode:叢集當中的從節點,主要用於儲存叢集當
從給定陣列中選取任意個數(可重複),使其和為給定值。
回溯法練習:從給定有序陣列中選取任意個數(可重複),使其和為給定值(leetcode39):Example 1:Input: candidates = [2,3,6,7], target = 7A solution set is: [ [7], [2,2,3] ]思路
練習:編寫循環,讓用戶輸入用戶名和密碼,如果用戶為空或者數字,則重新輸入
color while pla 密碼 b2b 如果 lap use 循環 編寫循環,讓用戶輸入用戶名和密碼,如果用戶為空或者數字,則重新輸入 while True: user = input(‘請輸入用戶:‘) .strip() # 用戶輸入 ,去掉兩邊
c語言實現求解這樣的6位數:SQRT(6位數)=3位數,9個數字互不相同(SQRT表示開平方)
(1)設定10個元素的狀態陣列p,記錄數字0~9在6位數和3位數中出現的情況。陣列元素都賦值1,表示數字0~9沒有被使用過。 (2)對嘗試的每一個數3位數x,6位數=x*x,並取其各個位數字,數字作為陣列的下標,若對應元素為1,則該數字第一次出現, 將對應的元素賦值為0,表示該數字已經出現一次。否則,若對
python讀取檔案,資料讀入為字元型數字,轉換成數值型
import pandas as pdimport numpy as nppath='result.csv'order=open(path).readlines()//list型別,不過list裡存放的不是int型數值是字元型print(len(order))//獲取長度20
搜尋吉祥數,在給定的範圍內,例如1~99999,找出吉祥數字,滿足的條件為:全部數字必須由6或者8構成,如66666,66668,668,…
題目:在給定的範圍內,例如1~99999,找出吉祥數字,滿足的條件為:全部數字必須由6或者8構成,如66666,66668,668,…1.一開始想的很雜,考慮了效率:把要查詢的數轉化成String再轉化成char陣列,逐個跟“6”,“8”比較。但是這樣的話,用String會建
C語言實現5位數=2*4位數,9個數字互不相同
利用C語言求解這樣的兩個資料:5位數=2*4位數,9個數字互不相同 1 #include<stdio.h> 2 int main() 3 { 4 long x; 5 int p[10],i,t,k; 6 int num=0; 7 int n,f
CF E. Vasya and a Tree】 dfs+樹狀陣列(給你一棵n個節點的樹,每個點有一個權值,初始全為0,m次操作,每次三個數(v, d, x)表示只考慮以v為根的子樹,將所有與v點距離小於等於d的點權值全部加上x,求所有操作完畢後,所有節點的值)
題意: 給你一棵n個節點的樹,每個點有一個權值,初始全為0,m次操作,每次三個數(v, d, x)表示只考慮以v為根的子樹,將所有與v點距離小於等於d的點權值全部加上x,求所有操作完畢後,所有節點的值 首先要明確兩件事情性質1.每個人的操作只會影響到他的子孫(包括自己) 性質1.每個人的操
建立一個帶頭結點的單向鏈表,鏈表中的各結點按結點數據中的數據遞增有序鏈接,函數fun的功能是:把形參x的值放入一個新結點並插入鏈表中,使插入後各結點數據域中的數據仍保持遞增有序
print lis void clu ret div clas head number #include <stdio.h> #include <stdlib.h> #define N 8 typedef struct l
用x,y,z組成2個3位數,並將其相加成一個數字,求xyz
int x,y,x,i,result=520; //可令result為隨機一個數字 for(i=100;i<=result;i++) //次處為演算法靈魂之處 { x=i%100; //依次遞增1,遞增到10後變為0 y=i%100/10